python退出程序,终止运行
python退出程序运行方式常用的两种:
os._exit() 和 sys.exit()
1. sys.exit()
import os,sys try: sys.exit(0) # 0 和 1 都是一样。 except: print('Program is dead.') finally: print('clean-up')
执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法.
该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出.
sys.exit() 会抛出一个异常: SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获该异常的代码,那么这些代码还是会执行。
一般在python脚本中都选择使用sys.exit函数退出程序,可以有个异常捕获机制来做清理扫尾的工作,程序会更加灵活健壮。
2.os._exit()
import os,sys try: os._exit(0) except: print('Program is dead.') finally: print('clean-up')
os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。
sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
在python线程中,使用sys.exit(包括exit和quit),都只能实现退出子线程,而不能退出主线程;如果在子线程中调用os._exit,可以实现整个程序的退出。