为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑8549860 2021-03-12 14:15:37
我想在用户关闭程序时执行功能。例如,如果主程序是time.sleep(1000),我该如何写txt记录该程序的意外终止。该程序由cxfreeze打包到exe中。单击“ X”关闭控制台窗口。我知道atexit可以处理sys.exit(),但是有没有更强大的方法可以处理关闭窗口事件?问题这在Python中可行吗?如果是这样,我该怎么做?
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

您将获得的最接近的是使用出口处理程序:


def bye():

  print 'goodbye world!!'


import atexit

atexit.register(bye)

这可能不起作用,具体取决于如何终止python的技术细节(它依赖于正常的解释器终止)


查看完整回答
反对 回复 2021-03-24
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

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


查看完整回答
反对 回复 2021-03-24
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

最简单的方法是将您的行为包装在try / final中,将退出行为包装在finally块中。


try:

  normal_behavior()

finally:

  on_exit_behavior()


查看完整回答
反对 回复 2021-03-24
  • 3 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信