2012-10-24 68 views
4

有沒有辦法檢測到python程序何時結束?像我可以連接到回調的東西?有沒有辦法檢測python程序何時結束?

我有一個類保持cache,我想在程序結束之前將緩存寫入磁盤。如果我能做到這一點,那麼我可以在第一次使用磁盤時從磁盤加載它並擁有持久緩存。

我正在尋找一個回調類型的東西,雖然因爲我想自動化它,所以用戶不必做任何事情來保存緩存。

+4

我怕這將是一個停機問題開玩笑。 –

回答

7

您可以使用atexit.register(some_function)或者乾脆@atexit.register裝飾你的功能。它將在口譯員終止時被調用。

例子:

import atexit 
@atexit.register 
def save_cache(): 
    print 'save cache' 

import atexit 
def save_cache(): 
    print 'save cache' 
atexit.register(save_cache) 
相關問題