正在尝试基于字符串值实例化类,并且。。。弱点。下面的parser
对象是一个dict
,在这个示例中,我们有一个名为foo
的对象,这里parser['name']
是“foo”:
obj = parser['name']()
失败,产生TypeError: 'str' object is not callable
。但是,既然我已经:
class foo:
def __init__(self():
print 'Hello'
如果我这样做obj = foo()
它工作正常,并创建正确的对象。另外,调用obj = type(parser['name'])()
也不起作用。
如何解决这个问题?更新:我真的不想使用映射系统:这些类的名称是定义的INI文件,并以这种方式解析,因此它们将是字符串。。
不要使用字符串:
答案如下:
Python dynamic class names
如果您知道在哪个模块中定义了类,则有一种更简单的方法来执行此操作,例如:
相关问题 更多 >
编程相关推荐