python atexit模块和register函数
来源:互联网 发布:淘宝商标注册入口 编辑:程序博客网 时间:2024/06/02 04:16
模块简介:
从模块的名字也可以看出来,atexit模块主要的作用就是在程序即将结束之前执行的代码,atexit模块使用register函数用于注册程序退出时的回调函数,然后在回调函数中做一些资源清理的操作
注意:
1,如果程序是非正常crash,或通过os._exit()退出,注册的回调函数将不会被调用。
2,也可以通过sys.exitfunc来注册回调,但通过它只能注册一个回调,而且还不支持参数。
3,建议使用atexit来注册回调函数。
不过请特别注意:
1,不要在程序中同时使用这两种方式,否则通过atexit注册的回调可能不会被正常调用。
通过查阅atexit的源码,原来它内部是通过sys.exitfunc来实现的,它先把注册的回调函数放到一个列表中,当程序退出时,按先进后出的顺序调用注册的回调。如果回调函数在执行过程中抛出了异常,atexit会打印异常的文字信息,并继续执行下一下回调,直到所有的回调都执行完毕,它会重新抛出最后接收到的异常。
2,如果使用的Python版本是2.6及以后的版本,还可以用装饰器的语法来注册回调函数。
3,如果注册顺序是A,B,C,那么最后调用的顺序是相反的,C,B,A
该模块主要有如下两个函数
atexit.register(func, *args, **kargs) 注册函数
atexit.unregister(func) 取消注册函数
下面简单看一下这个模块的用法:
程序的输出为:(可见调用顺序与注册顺序是相反的)
注意:在IDLE里面atexit的输出是不会显示的,需要在cmd窗口里面才有显示
- python atexit模块和register函数
- python atexit模块和register函数
- python模块atexit与register函数
- Python atexit模块
- Python atexit模块
- Python模块学习:atexit
- python中的atexit函数
- exit()和atexit()函数
- atexit() 和 exit() 函数
- atexit函数和on_exit函数
- atexit(函数和on_exit()函数
- python atexit 模块(回调函数)
- 浅析exit()和atexit()函数
- atexit函数和exit函数的理解
- C++中的atexit函数和exit函数
- atexit函数和exit函数的理解
- Linux中exit()函数和atexit函数
- python atexit
- JAVA 比较两个日期相差的天数,隔天计算
- 【算法知识总结】动态规划
- hibernate,LocationSessionFactoryBean
- JNI参数传递详细介绍
- 介绍linux下vi命令的使用
- python atexit模块和register函数
- 3.2 支持向量机SVM
- 如何在AD中批量创建域用户
- Spark 共同好友解决方案:求大量集合的两两交集
- Java 非阻塞式的高伸缩性IO通信 学习demo
- CentOS6.5下redis安装部署配置
- Error:svn: locked svn: is already locked.
- mysql存储过程实战基础入门
- nginx的配置文件详细介绍