注册退出函数
1、无论程序在哪出现异常,最终都会执行注册过的方法
1 import atexit 2 3 4 @atexit.register 5 def func(): 6 print(1) 7 8 9 def func2(): 10 print(2) 11 12 13 def func3(): 14 return 1 / 0 15 16 17 func3()
output:
ZeroDivisionError: division by zero
1
2、注册过的方法,执行遵循先进后出,即最先注册的最后执行
1 import atexit 2 3 4 def func(): 5 print(1) 6 7 8 def func2(): 9 print(2) 10 11 12 def func3(): 13 print(3) 14 15 16 atexit.register(func) 17 atexit.register(func2) 18 atexit.register(func3)
output:
3
2
1