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

Jus*_*808 4 python callback python-2.x python-2.7

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

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

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

Eri*_*ric 7

是的,有:

import atexit

@atexit.register
def writecache():
    # etc
Run Code Online (Sandbox Code Playgroud)


Thi*_*ter 7

您可以使用atexit.register(some_function)或简单地用您的功能装饰@atexit.register.解释器终止时将调用它.

例:

import atexit
@atexit.register
def save_cache():
    print 'save cache'
Run Code Online (Sandbox Code Playgroud)

要么

import atexit
def save_cache():
    print 'save cache'
atexit.register(save_cache)
Run Code Online (Sandbox Code Playgroud)