如何在编程过程中动态添加Python模块至包中?

如何在编程过程中动态添加Python模块至包中?

为了动态导入Python模块,您可以使用 importlib 包的 import_module(moduleName) 函数。您需要将moduleName作为字符串输入。例如,

>>> from importlib import import_module
>>> moduleName = "os"
>>> globals()[moduleName] = import_module(moduleName)

如果您想要动态导入一系列模块,您可以使用 for 循环调用该函数。例如,

>>> import importlib
>>> modnames = ["os", "sys", "math"]
>>> for lib in modnames:
...     globals()[lib] = importlib.import_module(lib)

globals() 调用返回一个字典。我们可以将每个库的 lib 键设置为导入模块返回的对象。

如果您已经导入了一个包并且现在想要动态导入其中一个模块,仍然可以使用相同的函数并获得预期的结果。要导入的模块应具有其完整的名称,而不仅仅是模块名称。例如,

>>> import importlib
>>> pack = 'datetime'
>>> mod = 'date'
>>> globals()[pack] = importlib.import_module(pack)
>>> globals()[pack + '.' + mod] = importlib.import_module(pack + '.' + mod)

阅读更多:Python 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程