python exit出錯原因整理
阿新 • • 發佈:2020-09-01
Python程式有兩種退出方式: os._exit() 和 sys.exit()。我查了一下這兩種方式的區別。
- os._exit() 會直接將python程式終止,之後的所有程式碼都不會執行。
- sys.exit() 會丟擲一個異常: SystemExit,如果這個異常沒有被捕獲,那麼python直譯器將會退出。如果有捕獲該異常的程式碼,那麼這些
程式碼還是會執行。
例如
import os try: os._exit(0) except: print('Program is dead.')
這個print是不會列印的,因為沒有異常被捕獲。
import sys try: sys.exit(0) except: print('Program is dead.') finally: print('clean-up')
這裡兩個print都可以列印,因為sys.exit()丟擲了異常。
結論
使用sys.exit()來退出程式比較優雅,呼叫它能引發SystemExit異常,然後我們可以捕獲這個異常做些清理工作。而os._exit()將python解
釋器直接退出,後面的語句都不會執行。一般情況下用sys.exit()就行;os._exit()可以在os.fork()產生的子程序裡使用。
到此這篇關於python exit出錯原因整理的文章就介紹到這了,更多相關python exit出錯是什麼原因內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!