有没有办法使用字符串(在我的情况下从文件中读取)来查找名称与字符串匹配的类,然后创建该类的实例。例如:
class FirstClass:
def __init__(self, arg1):
self.arg = arg1
values = ','.split('FirstClass', 'argument')
# need the magic for this:
values[0](*values[1:])
但当然使用values[0]
在那里不起作用,因为它是一个字符串,而不是一个类。有没有办法自动将字符串转换为那里的类?特别是如果我有很多类,并且事先无法知道要实例化哪一个,比如从CSV读取值并希望正确的类处理一行。
答案 0 :(得分:4)
您可以分别使用locals()
或globals()
按名称访问变量。在你的情况下,这将是这样的:
locals()[values[0]](*values[1:])