Я генерирую имена классов динамически, а затем хочу импортировать этот класс по его имени для доступа к статическому методу.
Это класс для импорта в "the_module.py":
class ToImport(object):
@classmethod
def initialize(cls, parameter):
print parameter
Согласно сообщению в блоге , насколько я понял:
theModule = __import__("the_module")
toImport = getattr(theModule, "ToImport")
toImport.initialize("parameter")
Но пример блога кажется неполным, поскольку он дает мне объект модуля без моего желаемого класса ToImport
. Глядя на документацию __import__()
, я обнаружил, что для этой функции есть дополнительные атрибуты. Мне удалось с
theModule = __import__("the_module", globals(), locals(), ["ToImport"])
Почему я должен указывать атрибут fromlist
? Не могу ли я импортировать все атрибуты модулей?