有没有办法检测python程序什么时候结束?像我可以连接的回调之类的东西?
我有一个保持cache的类,我想在程序结束之前将缓存写入磁盘。如果我可以这样做,那么我可以在第一次使用它时从磁盘加载它并具有持久缓存。
我正在寻找一个回调类型的东西,因为我想自动化它,所以用户不必做任何事情来保存缓存。
答案 0 :(得分:7)
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)