如何从Python中以前的导入中获取类对象/实例?

2024-06-09 04:03:16 发布

您现在位置:Python中文网/ 问答频道 /正文

假设在一个名为“klass”的类的hirearchical“folder2”中有一个名为“module”的模块。你知道吗

怎样才能得到方括号语法中的类呢?你知道吗

module = __import__('folder1.folder2.module', fromlist='*')
sbs_module = module['klass']

#lets say we print a value from the method getValue
print sbs_module.getValue()

Tags: 模块import语法saymoduleprintlets方括号
1条回答
网友
1楼 · 发布于 2024-06-09 04:03:16

替换此行:

sbs_module = module['klass']

使用此行:

sbs_module = module.klass

原因是您需要使用点表示法来引用模块变量(在本例中是名为klass的变量),而不是通过键访问变量。你知道吗

或者,可以使用两种不同的符号:

  • 按键:

    sbs_module = vars(module)['klass']
    
  • 按属性:

    sbs_module = getattr(module, 'klass')
    

但除非绝对必要,否则我不推荐。你知道吗

相关问题 更多 >