有沒有辦法檢測到python程序何時結束?像我可以連接到回調的東西?有沒有辦法檢測python程序何時結束?
我有一個類保持cache,我想在程序結束之前將緩存寫入磁盤。如果我能做到這一點,那麼我可以在第一次使用磁盤時從磁盤加載它並擁有持久緩存。
我正在尋找一個回調類型的東西,雖然因爲我想自動化它,所以用戶不必做任何事情來保存緩存。
有沒有辦法檢測到python程序何時結束?像我可以連接到回調的東西?有沒有辦法檢測python程序何時結束?
我有一個類保持cache,我想在程序結束之前將緩存寫入磁盤。如果我能做到這一點,那麼我可以在第一次使用磁盤時從磁盤加載它並擁有持久緩存。
我正在尋找一個回調類型的東西,雖然因爲我想自動化它,所以用戶不必做任何事情來保存緩存。
您可以使用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)
import atexit
@atexit.register
def writecache():
# etc
我怕這將是一個停機問題開玩笑。 –