有没有办法检测到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
我怕这将是一个停机问题开玩笑。 –