将模块列为字符串并导入它们。

3

我有一堆模块需要导入。由于某些原因,我不能把模块名直接写在代码里,必须将它们以字符串形式存储在列表中。换句话说,我需要按照以下方式执行:

modules_to_import = ['module1', 'module2', 'module3']
import modules_to_import

有没有人知道我是否可以使用 python 来实现这个?
1个回答

7
使用 importlib.import_module:
imported_modules = {m: importlib.import_module(m) for m in modules_to_import}

如果你想将模块作为全局变量访问,你需要进行一些繁琐的操作,比如赋值给 globals():

for module in modules_to_import:
    globals()[module] = importlib.import_module(module)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接