有没有办法检测python程序什么时候结束?

时间:2012-10-24 22:23:37

标签: python callback python-2.7 python-2.x

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

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

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

2 个答案:

答案 0 :(得分:7)

Yes, there is

import atexit

@atexit.register
def writecache():
    # etc

答案 1 :(得分: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)