如何在编程运行时动态添加 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)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP