文章目录

  • 问题描述
  • 解决方案
    • 注册函数
    • 装饰器
  • 参考文献

问题描述

在程序退出前执行代码

解决方案

使用内置库 atexit 注册程序退出前要执行的函数,即使程序崩溃,都会执行

注册函数

import atexitdef f():print('结束')atexit.register(f)if __name__ == '__main__':1 / 0

装饰器

import atexit@atexit.register
def f():print('结束')if __name__ == '__main__':1 / 0

参考文献

  1. atexit — 退出处理器

Python在程序退出前执行代码相关推荐

  1. 如何让asp.net应用程序定时自动执行代码

    asp.net程序一般是当用户请求一个Page,或者请求一个WebService的时候,才会执行一段代码,如果我们希望让程序定时自动执行代码,但是又不增加新的应用程序,应该怎么做呢? 首先,给你的we ...

  2. Python程序退出时执行指定代码

    一:捕获所有的异常 二:采用traceback模块查看异常,需要导入traceback模块,这个方法会打印出异常代码的行号 三:调用atexit import atexit import signal ...

  3. python捕获异常 程序退出_python3退出程序sys.exit()方法

    1. sys.exit() 执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法. 该方法中包含一个参数status,默认为0,表示正常退 ...

  4. python小程序-第一个python小程序——即时动态时钟(代码解读)

    代码资源来自: 一.完整代码: #coding=UTF-8 from turtle import * from datetime import * def Skip(step): #建立表的外框 pe ...

  5. IOS 4.0 以上版本 home键退出 后台执行代码

    今天调查了下IOS 4.0 支持的多任务的事宜,系统是4.2, 初步结果如下: Ios 4.0 多任务不是传统意义上的多任务.只是把程序的状态保存起来,程序挂起.因为Apple还没准备好多任务同时运行 ...

  6. 程序退出前的遗言----linux下利用backtrace追踪函数调用堆栈以及定位段错误

    一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的. 在glibc ...

  7. python结束程序再重新执行_Python对象对重新执行程序的持久性

    Is where a way to persist objects over re-execs of a running script? If I want a running script to r ...

  8. python编写程序-30分钟学会用Python编写简单程序

    参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方式修改它们. 了解构成有效Python标识符和表 ...

  9. python浓缩(14)执行环境

    为什么80%的码农都做不了架构师?>>>    本章主题 可调用对象 代码对象 语句和内置函数 执行其他程序 终止执行 各类操作系统接口 相关模块 python 中有多种运行外部程序 ...

最新文章

  1. SAP项目各模块简明调研提纲(一本通)
  2. 如何把 Word 中的表格快速插入 LaTeX?
  3. vim 与系统剪切板
  4. 【Django】ORM操作#2
  5. 5.js模式-职责链模式
  6. MySQL分库分表分库准备(6th)
  7. 实用知识点梳理:网络传输介质、以太网、VLAN、HDLC、奈奎斯特定理与香农定理
  8. 访问VirtualBox创建的CentOS虚拟主机里面的WEB服务
  9. Asp.net MVC3 Razor语法小记
  10. 阿里笔试的一道算法题
  11. 牛客暑期多校第五场A:gpa题解(简单01分数规划)
  12. linux 安装 yum 命令源
  13. ios签名php在线监控,IOS无需签名无需越狱H5网页在线封装APP教程
  14. 什么是IP防护等级,又该如何区分
  15. 终于!这个速算题自动批改程序被我给做出来了!
  16. Oracle 工具篇+Oracle Remote Diagnostic Agent(RDA)
  17. Android的SharedPreferences和SQLite
  18. byref与byval的区别
  19. python采用强制缩进的方式是代码具有极佳的可读性_python入门
  20. Libev源码分析08:Libev中的信号监视器

热门文章

  1. 固液混合铝电解电容优势
  2. java 二叉树的实现以及前序、中序、后续遍历实现
  3. docker离线部署
  4. 如何利用飞项做好项目需求管理
  5. EM算法高斯混合模型原理详解及小例子
  6. java中文乱码 例子_Java中文转码的例子,用来对付乱码
  7. 自动驾驶 Apollo 源码分析系列,系统监控篇(四):Monitor模块如何监控进程 Process 的存活状态?
  8. Unity Odin-ProgressBar添加数值栏
  9. [教程] 新手安装指南:一步一步在Windows安装苹果雪豹系统
  10. codeblock 设置