假设你在一个名为“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()
答案 0 :(得分:2)
替换此行:
sbs_module = module['klass']
这一行:
sbs_module = module.klass
原因是您需要使用点表示法来引用模块变量(在本例中为名为klass
的变量),而不是通过按键访问变量。
或者,您可以使用两种不同的符号:
按键:
sbs_module = vars(module)['klass']
按属性:
sbs_module = getattr(module, 'klass')
但除非绝对必要,否则我不推荐它。