Python,尝试实例化通过__import__导入的类时出现“'module'对象不可调用”
我一直在研究怎么做这件事,但我搞不清楚自己哪里出错了。我想用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
__import__
是一个用来导入模块的函数,它返回的是整个模块,而不是你在 fromlist
中指定的内容。你可以查看这个__import__
的文档,下面有个例子。
>>> 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__
的文档。