当前位置: 首页 > 面试题库 >

程序退出前做些事情

夏骞尧
2023-03-14
问题内容

在程序退出之前,如何拥有要执行的功能或某些东西?我有一个脚本,它将在后台不断运行,并且我需要它在退出之前将一些数据保存到文件中。有这样做的标准方法吗?


问题答案:

检出atexit模块:

http://docs.python.org/library/atexit.html

例如,如果我想在应用程序终止时打印一条消息:

import atexit

def exit_handler():
    print 'My application is ending!'

atexit.register(exit_handler)

请注意,这对于正常终止脚本非常有用,但是在所有情况下都不会调用它(例如致命的内部错误)。



 类似资料:
  • “输入一个单词或者按‘Q’退出”但是我不知道怎么做。我觉得有点困惑。 这是我第一次用Java编码,我还在学习。

  • 23.9 程序退出 每个SpringApplication都会向JVM注册一个关闭钩子,以确保在退出时ApplicationContext被正常关闭。所有标准的Spring的生命周期回调(如DisposableBean接口或@PreDestroy注解)都可以使用。 另外,如果希望bean在SpringApplication.exit()被调用时返回特定的退出码,那么bean可以实现org.spri

  • 我有一个学校的小项目,我正在用C语言写,我们必须解释一些错误,一旦发生就退出程序。基本上,在else语句中,当表达式的计算结果为false时,就好像它不会将错误写入文件一样。如果我将它输出到控制台(通过cout),而不是将其写入文件,它工作得很好,但是当我尝试将其写入输出文件时,它不工作。基本上,这是我的问题。我的教授要求所有的输出都到文件中,这就是为什么我不能使用cout。那么,为什么它会将其输

  • 注册退出回调 # atexit_simple.py import atexit def all_done(): print('all_done()') print('Registering') atexit.register(all_done) print('Registered') # atexit_multiple.py import atexit def my_clea

  • 假设您有一个二进制文件,其中包含类型为int或double的数字。您不知道文件中数字的顺序,但它们的顺序记录在文件开头的字符串中。字符串由表示int的字母i和表示double的字母d组成,按后续数字类型的顺序排列。字符串是使用writeUTF方法写入的。 例如,字符串“iddiiddd”表示该文件包含八个值,如下所示:一个整数,后跟两个双精度,后跟两个整数,后跟三个双精度。 我的问题是,如果字符串

  • 问题内容: 我有两个线程:主线程和从主线程生成的线程。 当主线程退出时,整个程序会终止吗? 问题答案: 没有。 当所有非守护程序线程完成时,Java程序终止。 该文档指出: Java虚拟机启动时,通常只有一个非守护程序线程(通常调用某些指定类的名为main的方法)。Java虚拟机将继续执行线程,直到发生以下任何一种情况: 类的方法已被调用,安全管理器已允许进行退出操作。 不是守护程序线程的所有线程