模块导入时的自动(反)初始化
在Python中,如果一个模块需要进行某种初始化操作,比如在第一次导入时自动执行一些代码,你只需要把这些代码放在模块里,且不缩进就可以了,对吧?那么,有没有办法在应用程序关闭时,自动进行一些清理操作,让模块被回收呢?
2 个回答
0
听起来你是想写一个 module.init()
方法和一个 module.stop()
方法。
我个人非常讨厌在导入模块的时候就让它自动执行一些东西,至少让我有选择的权利,决定什么时候去执行它。
0
我找到了一种方法,可以这样做:
class __ModuleInitializer:
def __init__(self):
print('Module was initialized')
def __del__(self):
print('Module was deinitialized')
__module_init = __ModuleInitializer()