检测Python模块何时卸载

时间:2009-02-20 18:00:23

标签: python

我有一个模块,它使用ctypes将一些功能从静态库包装到一个类中。模块加载时,它会调用静态库中的初始化函数。卸载模块时(可能是解释器退出时),库中有一个我想要调用的卸载函数。我怎样才能创建这个钩子?

1 个答案:

答案 0 :(得分:15)

使用atexit模块:

import mymodule
import atexit

# call mymodule.unload('param1', 'param2') when the interpreter exits:
atexit.register(mymodule.unload, 'param1', 'param2')

文档中的另一个简单示例,使用register作为装饰器:

import atexit

@atexit.register
def goodbye():
    print "You are now leaving the Python sector."