iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么实现在Python退出时强制运行一段代码
  • 219
分享到

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

2023-06-16 12:06:52 219人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“怎么实现在python退出时强制运行一段代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现在Python退出时强制运行一段代码”吧!设想这样一个场景,你要给一个项

这篇文章主要讲解了“怎么实现在python退出时强制运行一段代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现在Python退出时强制运行一段代码”吧!

设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。

这段逻辑本身非常简单:

setup() test() clean()

但由于测试的代码比较复杂,你总是在调试的时候程序异常,导致每次clean()函数还没有来得及运行,程序就崩溃了。

你可能想到,如果这样写会怎么样呢:

setup() try:     text() except Exception as e:     print('运行异常:', e) clean()

似乎看起来,程序一定会运行到clean()函数,但是,如果你代码写的多,你就应该知道,滥用try...except...会让你非常痛苦。例如它突然给你打印一个运行异常:  1。你根本不知道是哪里出了问题,也不知道具体出了什么问题。为了找到问题,你必须让程序把错误爆出来。但这样一来,clean()又不能正常运行了。

有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢?

这个时候,我们就可以使用Python自带的atexit这个模块了。它的使用方法非常简单:

import atexit  @atexit.reGISter def clean():     print('清理环境相关的代码')  setup() test()

这样一来,我们不需要显式调用clean函数了。无论程序正常结束,还是程序异常报错,clean函数里面的内容总会执行。

如下图所示:

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

atexit使用中有下面几个注意事项:

  • 你可以注册多个退出函数,他们会按照注册时间从晚到早以此执行。例如:

import atexit  @atexit.register def clean_1():     ...  @atexit.register def clean_2():     ...

会先运行clean_2()后运行clean_1()

  • 如果clean()函数有参数,那么你可以不用装饰器,而是直接调用atexit.register(clean_1, 参数1, 参数2,  参数3='xxx')。

  • 如果程序是被你没有处理过的系统信号杀死的,那么注册的函数无法正常执行。

  • 如果发生了严重的Python内部错误,你注册的函数无法正常执行。

  • 如果你手动调用了os._exit(),你注册的函数无法正常执行。

感谢各位的阅读,以上就是“怎么实现在Python退出时强制运行一段代码”的内容了,经过本文的学习后,相信大家对怎么实现在Python退出时强制运行一段代码这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么实现在Python退出时强制运行一段代码

本文链接: https://www.lsjlt.com/news/283666.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么实现在Python退出时强制运行一段代码
    这篇文章主要讲解了“怎么实现在Python退出时强制运行一段代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现在Python退出时强制运行一段代码”吧!设想这样一个场景,你要给一个项...
    99+
    2023-06-16
  • 如何在Python退出时强制运行一段代码
    这篇文章将为大家详细讲解有关如何在Python退出时强制运行一段代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始...
    99+
    2023-06-03
  • 如何在 Windows 上实时运行 Python Leetcode 代码?
    Python是一种流行的编程语言,其易于学习和使用,成为许多程序员的首选语言。在Leetcode上练习算法问题是提高编程技能的一个好方法。在Windows上运行Python Leetcode代码需要一些特定的设置。本文将介绍如何在Windo...
    99+
    2023-09-24
    leetcode 实时 windows
  • 怎么在启动Jupyter Notebook时自动执行一段代码
    本篇内容主要讲解“怎么在启动Jupyter Notebook时自动执行一段代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在启动Jupyter Notebook时自动执行一段代码”吧!在我...
    99+
    2023-06-16
  • 在Github上怎么运行Python代码
    这篇“在Github上怎么运行Python代码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在Github上怎么运行Pyth...
    99+
    2023-07-06
  • PyCharm运行Python代码时出现“未找到模块”错误
    PyCharm运行Python代码时出现“未找到模块”错误 在PyCharm中执行Python脚本时,有时会出现 “ModuleNotFoundError: No module named XXXX”...
    99+
    2023-10-09
    python pycharm numpy
  • golang运行时动态生成代码怎么实现
    在Go语言中,可以使用`go/ast`和`go/printer`包来实现动态生成代码。 首先,你需要使用`go/ast`包来创建一棵...
    99+
    2023-10-26
    golang
  • 用pycharm怎么运行一个python代码
    在 pycharm 中运行 python 代码需要以下步骤:确保 pycharm 和 python 解释器已正确设置。打开要运行的代码文件。选择用于运行代码的运行配置。通过“运行文件”或...
    99+
    2024-04-17
    python pycharm
  • 怎么用一行代码实现Python并行处理
    今天小编给大家分享一下怎么用一行代码实现Python并行处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。传统的例子简单搜索...
    99+
    2023-06-27
  • Python实现一行代码自动绘制艺术画
    目录1.准备2.开始使用 Discoart3.显示/保存/加载配置DiscoArt 是一个很牛的开源模块,它能根据你给定的关键词自动绘画。 绘制过程是完全可见的,你可以在 jupyt...
    99+
    2022-12-30
    Python自动绘制艺术画 Python绘制艺术画 Python 艺术画
  • Python运行时修改业务SQL代码怎么写
    这篇“Python运行时修改业务SQL代码怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python运行时修改业务SQ...
    99+
    2023-07-02
  • Java怎么利用反射实现动态运行一行或多行代码
    这篇文章主要介绍“Java怎么利用反射实现动态运行一行或多行代码”,在日常操作中,相信很多人在Java怎么利用反射实现动态运行一行或多行代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么利用反射实...
    99+
    2023-07-05
  • 怎么使用Python一行代码实现AI换脸
    本文小编为大家详细介绍“怎么使用Python一行代码实现AI换脸”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python一行代码实现AI换脸”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。AI换脸,1行...
    99+
    2023-07-05
  • 怎么用一行Python代码实现GUI图形界面
    本篇内容介绍了“怎么用一行Python代码实现GUI图形界面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!主要使用Python的PySimp...
    99+
    2023-06-30
  • python如何实现在运行时提示用户输入密码
    这篇文章给大家分享的是有关python如何实现在运行时提示用户输入密码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在运行时提示用户输入密码许多 命令行工具或 脚本需要用户名和密...
    99+
    2024-04-02
  • 如何在Windows上实时运行Python代码?这篇教程告诉你!
    Python是一种高级编程语言,它被广泛应用于各种领域,如科学计算、数据分析、人工智能等。在Windows上,我们可以使用Python解释器来运行Python代码,但是每次修改代码后都需要重新运行解释器才能看到结果,这样效率非常低下。本文...
    99+
    2023-07-10
    windows 教程 实时
  • 怎么在Android应用中实现一个强制横屏或强制竖屏功能
    这期内容当中小编将会给大家带来有关怎么在Android应用中实现一个强制横屏或强制竖屏功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。强制竖屏设置代码在Activity的onResume方法中添加如下代...
    99+
    2023-05-31
    android roi
  • PyPy 是怎么让Python代码运行得和C一样快
    这篇文章的内容主要围绕PyPy 是怎么让Python代码运行得和C一样快进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!1. 引言作为一名算...
    99+
    2023-06-26
  • 怎么在python中实现greenlet交替运行
    本篇文章给大家分享的是有关怎么在python中实现greenlet交替运行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、Ja...
    99+
    2023-06-14
  • 怎么在Android中实现一个滑动退出Activity功能
    怎么在Android中实现一个滑动退出Activity功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现Android 滑动退出Activity的功能and...
    99+
    2023-05-30
    android activity roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作