return:在定義函數時從函數中返回一個函數的返回值,終止函數的執行。
os._exit(),sys.exit(),exit(),quit()都能夠退出當前執行腳本,差別在於
os._exit()直接退出,
sys.exit(),exit(),quit()始終會拋出一個SystemExit異常。如果不捕獲異常,看起來的效果和 os._exit() 一樣,不會有任何意外的信息,但也可以捕獲這些異常來做一些清理的工作
import os,sys,time def test_exit(): try: for i in range(10): time.sleep(0.5) print(i) fun(i) print 'eeeee' except: print(sys.exc_info()[0]) print(sys.exc_info()) print 'clean' def fun(item): if item>2: sys.exit(1) #可執行clean #exit(2) #可執行clean #quit(3) #可執行clean #os._exit(5) #不執行clean if __name__=='__main__': test_exit()
注意,雖然能捕獲SystemExit異常,執行clean,但是整個腳本的退出碼還是0