我一直在研究如何做到这一点,我无法弄清楚我做错了什么,我想用导入来导入一个类,然后实例化它,我正在做这样:
该类,从一个名为“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
答案 0 :(得分:2)
__import__
会返回模块,而不会返回fromlist
中指定的任何内容。查看__import__
docs并查看以下示例。
>>> a1module = __import__('action_1', fromlist=['Action_1'])
>>> action1 = a1module.Action_1()
>>> print action1
<action_1.Action_1 instance at 0xb77b8a0c>
注意,在上述情况下不需要fromlist,但如果action_1
模块位于包中(例如mystuff.action_1
)则需要。有关详细信息,请参阅__import__
文档。