新聞中心
Python程序有兩種退出方式: os._exit() 和 sys.exit()。我查了一下這兩種方式的區(qū)別。

成都創(chuàng)新互聯(lián)公司專注于吉利企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。吉利網(wǎng)站建設(shè)公司,為吉利等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
os._exit() 會(huì)直接將python程序終止,之后的所有代碼都不會(huì)執(zhí)行。
sys.exit() 會(huì)拋出一個(gè)異常: SystemExit,如果這個(gè)異常沒有被捕獲,那么python解釋器將會(huì)退出。如果有捕獲該異常的代碼,那么這些
代碼還是會(huì)執(zhí)行。
例如
import os
try:
os._exit(0)
except:
print('Program is dead.')這個(gè)print是不會(huì)打印的,因?yàn)闆]有異常被捕獲。
import sys
try:
sys.exit(0)
except:
print('Program is dead.')
finally:
print('clean-up')這里兩個(gè)print都可以打印,因?yàn)閟ys.exit()拋出了異常。
結(jié)論
使用sys.exit()來退出程序比較優(yōu)雅,調(diào)用它能引發(fā)SystemExit異常,然后我們可以捕獲這個(gè)異常做些清理工作。而os._exit()將python解
釋器直接退出,后面的語(yǔ)句都不會(huì)執(zhí)行。一般情況下用sys.exit()就行;os._exit()可以在os.fork()產(chǎn)生的子進(jìn)程里使用。
推薦學(xué)習(xí)《python教程》。
文章題目:創(chuàng)新互聯(lián)Python教程:pythonexit出錯(cuò)是什么原因
文章地址:http://www.fisionsoft.com.cn/article/djesicp.html


咨詢
建站咨詢
