0

假设您在分层“文件夹2”中有一个名为“模块”的模块,其中有一个名为“klass”的类。

我怎样才能得到方括号语法中的类?

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

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

1 回答 1

2

替换这一行:

sbs_module = module['klass']

用这条线:

sbs_module = module.klass

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

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

  • 按键:

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

    sbs_module = getattr(module, 'klass')
    

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

于 2012-11-08T02:44:01.610 回答