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

Python 在控制台窗口关闭时执行功能?,python,Python,我想在用户关闭程序时执行一个函数 例如,如果主程序是time.sleep(1000),如何编写txt来记录程序的意外终止 该程序由cxfreeze打包成exe。单击“X”关闭控制台窗口 我知道可以处理sys.exit(),但有没有更强大的方法可以处理关闭窗口事件 问题 这在Python中可能吗 如果是,我该怎么做 您可以使用注册程序退出时要执行的函数。您可以使用注册程序退出时要执行的函数。最接近的方法是使用退出处理程序: def bye(): print 'goodbye world!!'

我想在用户关闭程序时执行一个函数

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

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

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

问题

  • 这在Python中可能吗
  • 如果是,我该怎么做

  • 您可以使用注册程序退出时要执行的函数。

    您可以使用注册程序退出时要执行的函数。

    最接近的方法是使用退出处理程序:

    def bye():
      print 'goodbye world!!'
    
    import atexit
    atexit.register(bye)
    

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

    最接近的方法是使用退出处理程序:

    def bye():
      print 'goodbye world!!'
    
    import atexit
    atexit.register(bye)
    

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

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

    try:
      normal_behavior()
    finally:
      on_exit_behavior()
    

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

    try:
      normal_behavior()
    finally:
      on_exit_behavior()
    

    你能再具体一点吗?哪个操作系统、哪个程序、哪个功能?用户如何关闭程序??是桂吗??请说得更具体些……@Schorsch为我的拙劣表达道歉。没必要道歉。只要尽可能精确地不断改进你的问题(看看评论中的问题)。你能更具体一点吗?哪个操作系统、哪个程序、哪个功能?用户如何关闭程序??是桂吗??请说得更具体些……@Schorsch为我的拙劣表达道歉。没必要道歉。只要尽可能精确地改进你的问题(看看评论中的问题)。