rakoth
19.03.2011 13:33 22084841031300526691557290
Допустим есть структура:
start.py
mymodules/myclass.py
В myclass.py:
class MyClass:
pass
в start.py :
classname = "MyClass"
modulename = "mymodules"
importlib.__import__('{0}.{1}'.format(modulename, classname.lower()))
Как теперь объявить новый объект класса classname?
classname — это строка же. Делай через зад с помощью getattr, например.
так и объекта-то никакого нет, чтобы аттрибут спрашивать. вот если бы былло нечто вроде newinstance(classname)...
Ну ты же наимпортировал чего-то. У него и спрашивай. d = getattr(modulename, classname)() Вот как-то так.
Ага, точно. Спасибо.