Python, пытаясь создать экземпляр класса, импортированного с помощью __import__, получает объект '' module 'not callable' - PullRequest
1 голос
/ 15 сентября 2010

Я изучал, как это сделать, и я не могу понять, что я делаю неправильно, я хочу использовать import , чтобы импортировать класс, а затем создать его экземпляр и делаю это так:

класса, из файла с именем "action_1", я уже импортировал / добавил путь к этому)

class Action_1 ():
    def __init__ (self):
        pass

как я пытаюсь импортировать, а затем создать его экземпляр

imprtd_class = __import__('action_1', globals(), locals(), ['Action_1'], -1)

#instantiate the imported class:
inst_imprtd_class = imprtd_class()
>>>> 'module' object is not callable

1 Ответ

2 голосов
/ 15 сентября 2010

__import__ возвращает модуль , а не все, что указано в fromlist.Проверьте __import__ документы и см. Пример ниже.

>>> a1module = __import__('action_1', fromlist=['Action_1'])
>>> action1 = a1module.Action_1()
>>> print action1
<action_1.Action_1 instance at 0xb77b8a0c>

Примечание , список рассылки не требуется в вышеуказанном случае, но еслиМодуль 1013 * был в пакете (например, mystuff.action_1), это требуется.См. __import__ документы для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...