Python 脚本退出

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

posted @ 2020-11-23 15:29  声声慢43  阅读(1615)  评论(0编辑  收藏  举报