概述
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()
產生的子進程里使用。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
