Я сравниваю два файла в моей программе ниже. Если это то же самое, я печатаю как успех иначе как отказ. Я использую интегрированный инструмент под названием jenkins для отправки электронной почты, когда это ошибка при сравнении файлов, для этого - я должен правильно обрабатывать ошибку. Может кто-нибудь сказать мне, как справиться с ошибкой?как обрабатывать ошибки с помощью python?
Error_Status=0
def compare_files(file1, file2):
try:
with open(file1, 'rb') as f_file1, open(file2, 'rb') as f_file2:
if f_file1.read() == f_file2.read():
print 'SUCCESS \n'
#print 'SUCESS:\n {}\n {}'.format(file1, file2)
else:
print 'FAILURE \n'
Error_Status=1
except IOError:
print "File is NOT compared"
Error_Status = 1
Дженкинс консольный вывод:
E:\Projekte\Audi\Cloud_SOP17_TTS>rem !BUILD step: Execute test: tts.py
E:\Projekte\Audi\Cloud_SOP17_TTS>call python tts.py file1 file2 || echo failed
INPUT ENG: I am tired
Latency: 114msec
[ERROR] Can't Create Reference PCM or Response JSON files!
INPUT GED: facebook nachricht schönes wetter heute
Latency: 67msec
INPUT GED: erinnere mich an den termin heute abend
Latency: 113msec
E:\Projekte\Audi\Cloud_SOP17_TTS>echo Started at: 15:51:25.37
Started at: 15:51:25.37
E:\Projekte\Audi\Cloud_SOP17_TTS>exit 0
Archiving artifacts
Recording plot data
Saving plot series data from: E:\Projekte\Audi\Cloud_SOP17_TTS\Backups\tts_2016_02_04.py
Not creating point with null values: y=null label= url=
No emails were triggered.
Finished: SUCCESS
Как вы называете этот сценарий у Дженкинса? Вы можете «выйти» с нестандартным кодом выхода или, возможно, создать исключение. Или сравните файлы по-другому, используя команды bash вместо Python. –
Вы можете просто использовать 'diff'. Если файлы одинаковые, код выхода равен '0', если они разные, код выхода равен« 1 ». Используйте '$?' Для получения кода выхода. –
У меня есть рабочее пространство, я скопировал там свой код. Я планировал запустить свой код на каждый час. Я использовал только выход из своего кода ниже print 'FAILURE', но это не обращение. – sam