python 导入作为变量名

Mat*_*att 3 python-import python-3.x

我想使用带有变量名的导入。例如我想做这样的事情

from var import my_class
Run Code Online (Sandbox Code Playgroud)

我浏览了 python文档,但似乎有点令人困惑。我还看到了一些关于堆栈溢出的其他帖子,给出了这样的例子

import importlib
my_module = importlib.import_module("var, my_class)
Run Code Online (Sandbox Code Playgroud)

第二个例子在一定程度上确实有效。我在这里看到的唯一问题 var 是导入的,但我在 python 的命名空间中没有看到 my_class 的属性。我如何将这等同于我的原始示例

from var import my_class
Run Code Online (Sandbox Code Playgroud)

DYZ*_*DYZ 7

使用方法如下importlib(不需要第二个参数):

var = importlib.import_module("var")

# Now, you can use the content of the module:
var.my_class()
Run Code Online (Sandbox Code Playgroud)

没有直接的可编程等价物from var import my_class

  • 你不能说`my_class = importlib.import_module("var").__getattribute__("my_class")` 是`from var import my_class` 的直接可编程等价物吗? (2认同)