Python程序有兩種退出方式:os._exit()和sys.exit()。我查了一下這兩種方式的區別。
os._exit()會直接將python程序終止,之后的所有代碼都不會執行。
sys.exit()會拋出一個異常:SystemExit,如果這個異常沒有被捕獲,那么python解釋器將會退出。如果有捕獲該異常的代碼,那么這些
代碼還是會執行。
例如
importos
try:
os._exit(0)
except:
print('Programisdead.')
這個print是不會打印的,因為沒有異常被捕獲。
importsys
try:
sys.exit(0)
except:
print('Programisdead.')
finally:
print('clean-up')
這里兩個print都可以打印,因為sys.exit()拋出了異常。
結論
使用sys.exit()來退出程序比較優雅,調用它能引發SystemExit異常,然后我們可以捕獲這個異常做些清理工作。而os._exit()將python解
釋器直接退出,后面的語句都不會執行。一般情況下用sys.exit()就行;os._exit()可以在os.fork()產生的子進程里使用。
以上內容為大家介紹了pythonexit出錯是什么原因,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。