2013-05-16 110 views
0

我想在程序被用戶關閉時執行一個函數。控制檯窗口關閉時執行一個函數嗎?

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

程序被cxfreeze打包成exe。點擊「X」關閉控制檯窗口。

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

問題

  1. 這是可能在Python?
  2. 如果是這樣,我該怎麼做?
+1

你能更具體一點嗎?哪個操作系統,哪個程序,哪個功能? – Schorsch

+0

以及用戶如何關閉程序?它是GUI?請更具體地說.... – IcyFlame

+0

@Schorsch對不起,我可憐的表情。 – Hunger

回答

2

你會使用一個退出處理程序得到最接近:

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

import atexit 
atexit.register(bye) 

這可能不是取決於Python是如何終止技術細節工作(它依賴於正常的解釋終止)

0

的最簡單方法將在try/finally中包裝你的行爲,並在finally塊中包含你的退出行爲。

try: 
    normal_behavior() 
finally: 
    on_exit_behavior() 
相關問題