python結(jié)束程序運(yùn)行的四種方法
方法1:采用sys.exit(0),正常終止程序,從圖中可以看到,程序終止后shell運(yùn)行不受影響。
方法2:采用os._exit(0)關(guān)閉整個(gè)shell,從圖中看到,調(diào)用sys._exit(0)后整個(gè)shell都重啟了(RESTART Shell)。
方法3:采用Ctrl+C快捷鍵,強(qiáng)制終止程序執(zhí)行,可以看到,程序由“KeyboardInterrupt”(鍵盤中斷)終止了,且不影響shell繼續(xù)執(zhí)行。
方法4:最簡(jiǎn)單粗暴的終止程序方法莫過于點(diǎn)擊shell右上角的“x”,整個(gè)shell都終止了,程序果斷也終止!
方法一:使用sys模塊
Python中的sys模塊提供了一個(gè)叫做exit()的函數(shù),該函數(shù)可以用于立即終止程序的執(zhí)行。exit()函數(shù)接受一個(gè)可選的參數(shù),用于指定程序退出時(shí)的狀態(tài)碼,默認(rèn)為0。
示例代碼:
import sys print('程序開始執(zhí)行') sys.exit(0) print('這行代碼永遠(yuǎn)不會(huì)被執(zhí)行')
當(dāng)程序執(zhí)行到sys.exit(0)時(shí),程序會(huì)立即停止執(zhí)行,不會(huì)執(zhí)行后面的代碼。
方法二:使用os模塊
與sys模塊類似,os模塊也提供了一個(gè)名為_exit()的函數(shù),該函數(shù)可以用于立即終止程序的執(zhí)行。_exit()函數(shù)接受一個(gè)整數(shù)參數(shù),用于指定程序退出時(shí)的狀態(tài)碼,默認(rèn)為0。
示例代碼:
import os print('程序開始執(zhí)行') os._exit(0) print('這行代碼永遠(yuǎn)不會(huì)被執(zhí)行')
當(dāng)程序執(zhí)行到os._exit(0)時(shí),程序會(huì)立即停止執(zhí)行,不會(huì)執(zhí)行后面的代碼。
方法三:使用KeyboardInterrupt異常
我們可以使用Python的一個(gè)內(nèi)置異常KeyboardInterrupt來終止程序的執(zhí)行。當(dāng)程序運(yùn)行時(shí)按下"Ctrl+C"鍵,Python會(huì)拋出KeyboardInterrupt異常,我們可以在程序中捕獲這個(gè)異常并終止程序的執(zhí)行。
示例代碼:
try: while True: pass except KeyboardInterrupt: print('程序被手動(dòng)終止')
當(dāng)程序運(yùn)行時(shí)按下"Ctrl+C"鍵,程序會(huì)被手動(dòng)終止,并輸出"程序被手動(dòng)終止"。
方法四:使用atexit模塊
如果我們想在程序退出前執(zhí)行一些清理工作,比如關(guān)閉文件、釋放資源等操作,我們可以使用Python的atexit模塊。
atexit模塊提供了一個(gè)register()函數(shù),該函數(shù)可以用于注冊(cè)程序退出時(shí)需要執(zhí)行的函數(shù)。這些函數(shù)會(huì)在程序退出前按照注冊(cè)順序被依次調(diào)用。
示例代碼:
import atexit def exit_handler(): print('程序執(zhí)行完畢') atexit.register(exit_handler) print('程序開始執(zhí)行')
當(dāng)程序執(zhí)行完畢后,會(huì)自動(dòng)調(diào)用exit_handler()函數(shù)并輸出"程序執(zhí)行完畢"。
到此這篇關(guān)于python結(jié)束程序運(yùn)行的四種方法的文章就介紹到這了,更多相關(guān)python結(jié)束程序運(yùn)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)三種隨機(jī)請(qǐng)求頭方式
這篇文章主要介紹了python實(shí)現(xiàn)三種隨機(jī)請(qǐng)求頭方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python標(biāo)準(zhǔn)庫(kù)之collections包的使用教程
這篇文章主要給大家介紹了Python標(biāo)準(zhǔn)庫(kù)之collections包的使用教程,詳細(xì)介紹了collections中多個(gè)集合類的使用方法,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面隨小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-04-04python讀取word文檔,插入mysql數(shù)據(jù)庫(kù)的示例代碼
今天小編就為大家分享一篇python讀取word文檔,插入mysql數(shù)據(jù)庫(kù)的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11深入理解python?生成器、迭代器、動(dòng)態(tài)新增屬性及方法
這篇文章主要介紹了python?生成器、迭代器、動(dòng)態(tài)新增屬性及方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04學(xué)習(xí)Python中一些實(shí)用的庫(kù)
這篇文章主要介紹了Python學(xué)習(xí)之盤點(diǎn)一些Python中實(shí)用的庫(kù),有需要的同學(xué)可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09python通過opencv實(shí)現(xiàn)圖片裁剪原理解析
這篇文章主要介紹了python通過opencv實(shí)現(xiàn)圖片裁剪原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01