我想在程序被用戶關閉時執行一個函數。控制檯窗口關閉時執行一個函數嗎?
例如,如果主程序是time.sleep(1000)
,如何寫一個txt來記錄程序的意外終止。
程序被cxfreeze打包成exe。點擊「X」關閉控制檯窗口。
我知道atexit可以處理sys.exit(),但是有沒有更強大的方法可以處理關閉窗口事件?
問題
- 這是可能在Python?
- 如果是這樣,我該怎麼做?
我想在程序被用戶關閉時執行一個函數。控制檯窗口關閉時執行一個函數嗎?
例如,如果主程序是time.sleep(1000)
,如何寫一個txt來記錄程序的意外終止。
程序被cxfreeze打包成exe。點擊「X」關閉控制檯窗口。
我知道atexit可以處理sys.exit(),但是有沒有更強大的方法可以處理關閉窗口事件?
問題
你會使用一個退出處理程序得到最接近:
def bye():
print 'goodbye world!!'
import atexit
atexit.register(bye)
這可能不是取決於Python是如何終止技術細節工作(它依賴於正常的解釋終止)
您可以使用atexit
module來註冊程序退出時要執行的函數。
的最簡單方法將在try/finally中包裝你的行爲,並在finally塊中包含你的退出行爲。
try:
normal_behavior()
finally:
on_exit_behavior()
你能更具體一點嗎?哪個操作系統,哪個程序,哪個功能? – Schorsch
以及用戶如何關閉程序?它是GUI?請更具體地說.... – IcyFlame
@Schorsch對不起,我可憐的表情。 – Hunger