У меня есть пакетный файл, в котором запущен скрипт Python.
Этот скрипт Python всегда заканчивается с помощью sys.exit(code)
, несмотря ни на что, при этом код является кодом ошибки.
Пакетный файл не получает мой код ошибки и вместо этого всегда читает 0 с следующее:
..\..\STS\Python\python.exe Version_code_ID.py %*
echo Error level = %ERRORLEVEL%
Эта установка python находится в версии 3.7.1.
Я точно знаю, что мой код python вышел с кодами, отличными от 0, благодаря моему регистратору (и я добровольно вызвал ошибки для целей тестирования).
Например, у меня был выход с 1 и 12, обе попытки привели к получению 0 в пакете.
На всякий случай вот также функция Python, которую я использую для выхода:
def exit(code):
if(code > 0 ):
log.error("The computing module will shutdown with the following error code : "+str(code))
elif(code == 0):
log.info("Execution sucessfull")
log.info("STOP of VERSION_CODE_ID Computing Module")
log.removeHandler(stream_handler)
log.removeHandler(file_handler)
stream_handler.close()
file_handler.close()
sys.exit(code)
log — это просто имя моего регистратора logging.handlers.
Есть идеи, что может быть причиной этой проблемы?
exit
, так как есть встроенная функция с уже таким именем... - person aschipfl   schedule 13.12.2019