【发布时间】:2021-10-18 16:31:19
【问题描述】:
我想通过变量从库中导入所有对象。我知道如何从库中导入所有对象:
from package import *
我知道如何通过变量导入库:
import importlib
var = 'package'
package = importlib.import_module(var)
但是,我无法弄清楚如何将这两个目标结合起来。 importlib.import 似乎不支持这一点。有人可以帮忙吗?
注意:我知道以这种方式绕过命名空间的危险(任何对我的询问使用潜在答案的人都应该熟悉这些危险)。我只打算用它来快速开发和测试一些算法,并计划用我的文件中的各个对象的明确名称来发布我的代码。
编辑:我想出了一个最小的例子。假设我在同一个目录中有三个文件:
aux1.py
var = 'aux2'
aux2.py
a = 0
b = 1
main.py
import importlib
from aux1 import var
aux2 = importlib.import_module(var)
如果我运行 main.py,我可以访问 a 和 b 作为 aux2.a 和 aux2.b,但我希望它们成为全局变量。要执行此操作,main.py 的最后一行需要是什么?
【问题讨论】:
标签: python import python-importlib