Есть ли способ использовать строку (в моем случае, прочитанную из файла), чтобы найти класс с именем, соответствующим строке, а затем создать экземпляр этого класса. Например:Создание экземпляров класса на основе имени строки класса
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 и желать, чтобы правильный класс обрабатывал строку.
Возможно, вы хотите использовать 'globals()', хотя он работает в пределах области функций. Также см. Этот ответ, если класс является частью другого модуля, который вы хотите динамически загружать. Http://stackoverflow.com/questions/452969/does-python-have-an-equivalent-to-java-class-forname –