如何从Python中的前一个__import__获取类对象/实例?

时间:2012-11-08 02:32:59

标签: python

假设你在一个名为“klass”的类名为“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()

1 个答案:

答案 0 :(得分:2)

替换此行:

sbs_module = module['klass']

这一行:

sbs_module = module.klass

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

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

  • 按键:

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

    sbs_module = getattr(module, 'klass')
    

但除非绝对必要,否则我不推荐它。