怎么实现在Python退出时强制运行一段代码

本文主要讲解“Python退出时如何实现一段代码的强制运行” 。本文的讲解内容简单明了 , 易学易懂 。请跟随边肖的思路 , 一起学习学习“Python退出时如何实现一段代码的强制运行” 。想象一个场景 , 你想为一个项目开发一个测试程序 。当程序开始运行时 , 它将创建一个初始环境 , 测试完成后 , 它将清理环境 。逻辑本身很简单:设置()测试()清洁() 。但是由于要测试的代码比较复杂 , 调试时程序总是异常 , 导致每次clean()函数运行前程序都会崩溃 。你可能会想 , 如果你写下这个会发生什么:Setup () try:text()除了exceptionase3360print( 异常操作:  , e)clean()看起来程序会运行到clean()函数 , 但是如果你写更多的代码 , 你应该知道滥用try.除.之外.会让你很痛苦 。例如 , 它突然向您输出一个运行异常: 1 。你不知道哪里出了问题 , 也不知道到底哪里出了问题 。为了找到问题 , 你必须让程序把错误吹出来 。但是这样一来 , clean()又不能正常运行了 。有什么方法可以让程序报告错误 , 并在报告错误后运行clean()?此时 , 我们可以使用Python附带的atexit模块 。使用起来非常简单:导入atexit @ atexit . registeredefclean(): print( clean环境相关代码 )setup()test() , 这样我们就不需要显式调用clean函数了 。无论程序正常结束还是程序异常报错 , 都会一直执行clean函数的内容 。如下图所示:Atexit在使用中有以下注意事项:可以注册多个退出函数 , 它们会按照注册时间从晚到早执行 。例如:导入atexit @ atexit . registeredefclean _ 1():@ atexit . registerdefclean _ 2():将首先运行clean _ 2() , 然后运行clean _ 1() 。如果clean()函数有参数 , 可以直接调用atexit.register(clean_1 , 参数1 , 参数2 , 参数3= xxx )而不用decorator 。如果程序被你没有处理的系统信号杀死 , 注册的函数就不能正常执行 。如果发生严重的Python内部错误 , 您注册的函数将无法正常执行 。如果你打电话给操作系统 。_手动退出() , 您注册的函数将无法正常执行 。感谢您的阅读 。以上就是“Python退出时如何强制执行一段代码”的内容 。学习完这篇文章 , 我相信你对Python退出时如何执行一段代码有了更深的理解 。具体用法需要实践验证 。在这里 , 边肖将为大家推送更多相关知识点的文章 。欢迎关注!

    推荐阅读