Python 如何动态导入模块

1.import() 动态导入

我们一般在模块开始部分通过 import 语句实现模块的导入和使用,import 本质上是使用了内置函数 __import__().

math = __import__('math')
print(math.pi)

# 运行结果:
3.141592653589793

注意:一般不建议自行使用__import__() 导入,其行为在 python2 和 python3 中有差异,会导致意外错误。如果需要动态导入可以使用 importlib 模块。

2.使用 importlib 模块动态导入

import importlib


math = importlib.import_module('math')
print(math.pi)

# 运行结果:
3.141592653589793

补充:在一个模块被导入的时候,模块中的代码都会被执行。不过,如果再次导入这个模块,则不会再次执行。

一个模块无论导入多少次,这个模块在整个解释器进程内有且仅有一个实例对象。

有时候我们确实需要重新加载一个模块,这时候可以使用 importlib 中的 reload() 函数: importlib.reload(模块名)

猜你喜欢

转载自blog.csdn.net/qq_44214671/article/details/111316072