4

有没有办法检测 python 程序何时结束?我可以连接到回调之类的东西?

我有一个保留缓存的类,我想在程序结束之前将缓存写入磁盘。如果我能做到这一点,那么我可以在第一次使用它时从磁盘加载它并拥有一个持久缓存。

我正在寻找一个回调类型的东西,因为我想自动化它,所以用户不必做任何事情来保存缓存。

4

2 回答 2

8

您可以使用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)
于 2012-10-24T22:25:57.117 回答
7

是的,有

import atexit

@atexit.register
def writecache():
    # etc
于 2012-10-24T22:25:48.767 回答