深入理解python中的atexit模块
发布时间 - 2026-01-10 23:28:50 点击率:次atexit 模块介绍

python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数,这个函数在解释器正常终止时自动执行,一般用来做一些资源清理的操作。 atexit 按注册的相反顺序执行这些函数; 例如注册A、B、C,在解释器终止时按顺序C,B,A运行。
Note:如果程序是非正常crash,或者通过os._exit()退出,注册的退出函数将不会被调用。
官方文档:https://docs.python.org/3.5/library/atexit.html
注册 退出函数
atexit.register(func, *args, **kargs)
将func作为要在终止时执行的函数。任何要传递给func的可选参数必须作为参数传递给register() 。可以多次注册相同的函数和参数。
当程序退出的时候,按先进后出的顺序调用注册的函数。如果退出函数在执行过程中抛出了异常,atexit会打印异常的信息,并继续执行下一下回调,直到所有退出函数执行完毕,它会重新抛出最后接收到的异常。
示例
通过装饰器的方式:
#!/usr/bin/env python
from atexit import register
def main():
print('Do something.')
@register
def _atexit():
print('Done.')
if __name__ == '__main__':
main()
非装饰器的方式:
#!/usr/bin/env python
from atexit import register
def main():
#pass
print('XX')
def goodbye(name, adjective):
print('Goodbye, %s, it was %s to meet you.' % (name, adjective))
register(goodbye, 'Donny', 'nice')
# or:
# register(goodbye, adjective='nice', name='Donny')
if __name__ == '__main__':
main()
删除退出函数[一般用不到]
> atexit.unregister(func) >
从解释器关闭时运行的函数列表中删除func。 调用unregister()后,当解释器关闭时,即使它被注册了多次,func也不会被调用。如果func没有注册过的话,则unregister()什么也不会做。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# python
# atexit
# atexit函数
# Python中atexit模块的基本使用示例
# Python利用atexit模块实现优雅处理程序退出
# 抛出
# 也不
# 要在
# 下一
# 可选
# 这篇文章
# 没有注册
# 谢谢大家
# 它会
# 会做
# 使它
# 回调
# 过程中
# 器中
# 文档
# 列表中
# 有疑问
# docs
# org
# library
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Sanctum进行API认证?(SPA实战)
如何在VPS电脑上快速搭建网站?
在线制作视频的网站有哪些,电脑如何制作视频短片?
Linux系统命令中screen命令详解
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
node.js报错:Cannot find module 'ejs'的解决办法
专业商城网站制作公司有哪些,pi商城官网是哪个?
C#如何调用原生C++ COM对象详解
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
,网页ppt怎么弄成自己的ppt?
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
独立制作一个网站多少钱,建立网站需要花多少钱?
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
如何获取免费开源的自助建站系统源码?
Laravel如何处理文件下载请求?(Response示例)
JavaScript如何实现错误处理_try...catch如何捕获异常?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
javascript基于原型链的继承及call和apply函数用法分析
如何在搬瓦工VPS快速搭建网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
详解MySQL数据库的安装与密码配置
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Python文本处理实践_日志清洗解析【指导】
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
网易LOFTER官网链接 老福特网页版登录地址
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何用西部建站助手快速创建专业网站?
中山网站推广排名,中山信息港登录入口?
如何用已有域名快速搭建网站?
Swift中循环语句中的转移语句 break 和 continue
Android利用动画实现背景逐渐变暗
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
如何用y主机助手快速搭建网站?
Android使用GridView实现日历的简单功能

