python atexit 模块提供的一些功能

python 的atexit 提供了一些钩子,可以在python 正常退出的时候可以执行一些方法

参考使用

  • 注册钩子函数
import atexit

atexit.register(lambda: print('exit'))

def main():
    print('main')   

if __name__ == '__main__':
    main()

说明

注意此模块在未被捕获的信号杀死以及python 内部致命错误以及调用os.exit() 不会执行, python 的tables 模块就使用了此方法对于文件为正常关闭进行警告,参考处理 (_open_files.close_all 是一个方法,内部文件打开的部分使用了一个变量进行记录)

atexit.register(_open_files.close_all)

参考资料

https://docs.python.org/3/library/atexit.html

https://docs.python.org/zh-cn/3/library/atexit.html

posted on 2025-01-31 08:00  荣锋亮  阅读(63)  评论(0)    收藏  举报

导航