簡體   English   中英

在控制台窗口關閉時執行功能嗎?

[英]Executing a function when the console window closes?

我想在用戶關閉程序時執行功能。

例如,如果主程序是time.sleep(1000) ,我如何編寫txt記錄程序的意外終止。

該程序由cxfreeze打包到exe中。 單擊“ X”關閉控制台窗口。

我知道atexit可以處理sys.exit(),但是有沒有更強大的方法可以處理關閉窗口事件?

問題

  1. 這在Python中可行嗎?
  2. 如果是這樣,我該怎么做?

您將獲得的最接近的是使用出口處理程序:

def bye():
  print 'goodbye world!!'

import atexit
atexit.register(bye)

這可能不起作用,具體取決於如何終止python的技術細節(它依賴於正常的解釋器終止)

您可以使用atexit模塊注冊程序退出時要執行的功能。

最簡單的方法是將您的行為包裝在try / final中,將退出行為包裝在finally塊中。

try:
  normal_behavior()
finally:
  on_exit_behavior()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM