मैं नीचे अपने कार्यक्रम में दो फाइलों की तुलना कर रहा हूं। यदि यह वही है तो मैं विफलता के रूप में सफलता के रूप में मुद्रण कर रहा हूं। मैं जेनकिंस नामक एक एकीकृत उपकरण का उपयोग कर रहा हूं, जब फाइलों की तुलना करने में विफलता हो तो ईमेल भेजना, ऐसा करने के लिए - मुझे त्रुटि को सही तरीके से संभालना होगा। क्या कोई मुझे बता सकता है कि त्रुटि को कैसे संभालना है?पायथन का उपयोग कर त्रुटियों को कैसे संभालें?
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
आप इस स्क्रिप्ट को जेनकींस से कैसे बुला रहे हैं? आप गैर-मानक निकास कोड के साथ 'बाहर निकलें' कर सकते हैं, या शायद अपवाद उठा सकते हैं। या पायथन के बजाए बैश कमांड का उपयोग करके फ़ाइलों को एक अलग तरीके से तुलना करें। –
आप बस 'diff' का उपयोग कर सकते हैं। यदि फ़ाइलें समान हैं, तो बाहर निकलने वाला कोड '0' है, यदि वे अलग हैं, तो निकास कोड' 1' है। निकास कोड प्राप्त करने के लिए '$?' का उपयोग करें। –
मेरे पास वर्कस्पेस है, मैंने वहां अपना कोड कॉपी किया है। मैं हर एक घंटे के लिए अपना कोड चलाने के लिए निर्धारित किया। मैंने प्रिंट 'असफलता' के नीचे अपने कोड में बस बाहर निकलता था लेकिन यह संभालना नहीं था। – sam