Atexit

Atexit

Python 退出程序时执行代码 atexit

python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数, 这个函数在解释器正常终止时自动执行,一般用来做一些资源清理的操作。 atexit 按注册的相反顺序执行这些函数; 例如注册A、B、C,在解释器终止时按顺序C,B,A运行。

 1import atexit
 2
 3print("some code ............")
 4
 5
 6def exit0(*args, **kwarg):
 7    print('exit0')
 8    for arg in args:
 9        print(' ' * 4, arg)
10
11    for item in kwarg.items():
12        print(' ' * 4, item)
13
14
15def exit1():
16    print('exit1')
17    raise Exception('exit1')
18
19
20def exit2():
21    print('exit2')
22    print(1 / 0)
23
24
25atexit.register(exit0, *[1, 2, 3], **{"a": 1, "b": 2, })
26atexit.register(exit1)
27atexit.register(exit2)
28
29
30@atexit.register
31def exit3():
32    print('exit3')
33
34
35print('other code ..............')
36
37
38if __name__ == '__main__':
39    pass