模块导入时的自动(反)初始化

1 投票
2 回答
1259 浏览
提问于 2025-04-17 02:27

在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()

撰写回答