詳解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區(qū)別
詳解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區(qū)別
os._exit() 和 sys.exit()
os._exit() vs sys.exit()
概述
Python的程序有兩中退出方式:os._exit(), sys.exit()。本文介紹這兩種方式的區(qū)別和選擇。
os._exit()會(huì)直接將python程序終止,之后的所有代碼都不會(huì)繼續(xù)執(zhí)行。
sys.exit()會(huì)引發(fā)一個(gè)異常:SystemExit,如果這個(gè)異常沒有被捕獲,那么python解釋器將會(huì)退出。如果有捕獲此異常的代碼,那么這些代碼還是會(huì)執(zhí)行。捕獲這個(gè)異??梢宰鲆恍╊~外的清理工作。0為正常退出,其他數(shù)值(1-127)為不正常,可拋異常事件供捕獲。
舉例說明
#!/usr/local/bin/env python import os, sys try: sys.exit(0) except: print('die') finally: print('cleanup') try: os._exit(0) except: print('die') print('os.exit')#不打印直接退出了
輸出:
die cleanup
區(qū)別
綜上,sys.exit()的退出比較優(yōu)雅,調(diào)用后會(huì)引發(fā)SystemExit異常,可以捕獲此異常做清理工作。os._exit()直接將python解釋器退出,余下的語句不會(huì)執(zhí)行。
一般情況下使用sys.exit()即可,一般在fork出來的子進(jìn)程中使用os._exit()
一般來說os._exit() 用于在線程中退出
sys.exit() 用于在主線程中退出。
exit() 跟 C 語言等其他語言的 exit() 應(yīng)該是一樣的。
os._exit() 調(diào)用 C 語言的 _exit() 函數(shù)。
builtin.exit 是一個(gè) Quitter 對(duì)象,這個(gè)對(duì)象的 call 方法會(huì)拋出一個(gè) SystemExit 異常。
exit(0)和exit(1)
exit(0):無錯(cuò)誤退出
exit(1):有錯(cuò)誤退出
退出代碼是告訴解釋器的(或操作系統(tǒng))
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- python中的sys模塊和os模塊
- python os.system執(zhí)行cmd指令代碼詳解
- 解決python中os.system調(diào)用exe文件的問題
- Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實(shí)現(xiàn)
- Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法實(shí)例分析
- python sys,os,time模塊的使用(包括時(shí)間格式的各種轉(zhuǎn)換)
- python中os和sys模塊的區(qū)別與常用方法總結(jié)
- python中內(nèi)置庫os與sys模塊的詳細(xì)介紹
相關(guān)文章
Python實(shí)現(xiàn)的單向循環(huán)鏈表功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的單向循環(huán)鏈表功能,簡(jiǎn)單描述了單向循環(huán)鏈表的概念、原理并結(jié)合實(shí)例形式分析了Python定義與使用單向循環(huán)鏈表的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11python如何實(shí)現(xiàn)排序,并標(biāo)上序號(hào)
這篇文章主要介紹了python如何實(shí)現(xiàn)排序,并標(biāo)上序號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Python中不同進(jìn)制的語法及轉(zhuǎn)換方法分析
這篇文章主要介紹了Python中不同進(jìn)制的語法及轉(zhuǎn)換方法,結(jié)合實(shí)例形式分析了Python不同進(jìn)制的表示方法及相互轉(zhuǎn)換方法,需要的朋友可以參考下2016-07-07python實(shí)現(xiàn)二維數(shù)組的對(duì)角線遍歷
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)二維數(shù)組的對(duì)角線遍歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03詳解pandas中MultiIndex和對(duì)象實(shí)際索引不一致問題
這篇文章主要介紹了詳解pandas中MultiIndex和對(duì)象實(shí)際索引不一致問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07TensorFlow實(shí)現(xiàn)AutoEncoder自編碼器
這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)AutoEncoder自編碼器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03