猿问

在控制台窗口关闭时执行功能吗?

我想在用户关闭程序时执行功能。

例如,如果主程序是time.sleep(1000),我该如何写txt记录该程序的意外终止。

该程序由cxfreeze打包到exe中。单击“ X”关闭控制台窗口。

我知道atexit可以处理sys.exit(),但是有没有更强大的方法可以处理关闭窗口事件?

问题

  1. 这在Python中可行吗?

  2. 如果是这样,我该怎么做?


慕尼黑8549860
浏览 209回答 3
3回答

皈依舞

您将获得的最接近的是使用出口处理程序:def bye():  print 'goodbye world!!'import atexitatexit.register(bye)这可能不起作用,具体取决于如何终止python的技术细节(它依赖于正常的解释器终止)

叮当猫咪

您可以使用该atexit模块注册程序退出时要执行的功能。

有只小跳蛙

最简单的方法是将您的行为包装在try / final中,将退出行为包装在finally块中。try:  normal_behavior()finally:  on_exit_behavior()
随时随地看视频慕课网APP

相关分类

Python
我要回答