python怎么退出執(zhí)行/退出程序語句
在Python中,退出執(zhí)行是一個常見的操作。退出方法介紹:
sys.exit()函數(shù)
sys.exit()函數(shù)可以用于正常退出程序,本質(zhì)他會拋出一個異常: SystemExit,如果這個異常沒有被捕獲,那么python解釋器將會退出。如果有捕獲該異常的代碼,那么這些代碼還是會執(zhí)行。0為正常退出,其他數(shù)值(1-127)為不正常,可拋異常事件供捕獲。
raise SystemExit()異常
raise SystemExit()異常也可以用于退出程序, 可以看做sys.eit()的主動版。與sys.exit()函數(shù)不同的是,它不需要傳遞任何參數(shù)。當程序執(zhí)行到raise SystemExit()語句時,程序會立即退出。如果有異常捕獲的話跟前者處理情況一樣。
os._exit()函數(shù)
os._exit()函數(shù)會直接將python程序終止,之后的所有代碼都不會執(zhí)行。它與sys.exit()函數(shù)的區(qū)別在于,它不會執(zhí)行任何清理工作,直接終止程序。因此,在使用os._exit()函數(shù)時應該非常小心,避免對系統(tǒng)造成損害。
另外如果不加參數(shù),直接用os._exit()那么會返回一個“Programisdead“ message, 而加數(shù)字進去,一般用os._exit(0) 這樣程序直接結(jié)束,沒有任何返回。
Ctrl+C中斷程序執(zhí)行
在命令行下運行的Python程序可以通過按下Ctrl+C組合鍵來中斷程序執(zhí)行。這種方法比較粗暴,但是在某些情況下非常有效。
具體情況具體處理
合理選擇退出方法可以保證程序和系統(tǒng)的穩(wěn)定。
- 一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()
- 一般來說os._exit() 用于在線程中退出, sys.exit() 用于在主線程中退出。
- exit() 跟 C 語言等其他語言的 exit() 應該是一樣的。os._exit() 調(diào)用 C 語言的 _exit() 函數(shù)。
- return:在定義函數(shù)時從函數(shù)中返回一個函數(shù)的返回值,終止函數(shù)的執(zhí)行。
os._exit(),sys.exit(),exit(),quit()都能夠退出當前執(zhí)行腳本,差別在于os._exit()直接退出,sys.exit(),exit(),quit()始終會拋出一個SystemExit異常。如果不捕獲異常,看起來的效果和 os._exit() 一樣,不會有任何意外的信息,但也可以捕獲這些異常來做一些清理的工作.
Example:
import os
try:
os._exit(0)
except:
print('Programisdead.')
這個print是不會打印的,因為沒有異常被捕獲。
import sys
try:
sys.exit(0)
except:
print('Programisdead.')
finally:
print('clean-up')
這里兩個print都可以打印,因為sys.exit()拋出了異常.文章來源:http://www.zghlxwxcb.cn/news/detail-594529.html
參考資料
os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區(qū)別
python怎么退出執(zhí)行(python退出程序語句)
Python中退出程序的方法文章來源地址http://www.zghlxwxcb.cn/news/detail-594529.html
到了這里,關(guān)于python怎么退出執(zhí)行/退出程序語句的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!