2012-10-24 26 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) 
相关问题