Python重新导入模块
假设有一个模块如下(test.py)
def test():
print("--------1---------")
现有程序导入这个模块:
import test
test.test()
假设这时候,有人修改了模块;
def test():
print("--------1---------")
print("--------2---------")
那么原来导入模块没法更新为新的模块内容,而且,当对该模块进行更改后,即使重新导入,其中的任何改变都不会被识别,这时应该这样操作:
1.最简单、最有效的方法:重新启动 Python shell。但是,这也有缺点,特别是丢失了 Python shell 名称空间中存在的数据以及其他导入模块中的数据。
2.对于简单的情况,可以使用 Python 的 reload()
函数。在许多情况下,在编辑一个模块之后就足够了。
from imp mport *
reload(test)
reload函数在模块imp中
3.模块循环导入
你调用我,我调用你
怎么避免;
程序设计上分层,降低耦合
导入语句放在后面需要导入时再导入,例如放在函数体内导入