代码之家  ›  专栏  ›  技术社区  ›  Rick

Python,试图实例化使用import导入的类,获取“module”对象是不可调用的

  •  1
  • Rick  · 技术社区  · 15 年前

    我一直在研究如何做到这一点,我不知道我做错了什么,我想用 要导入一个类,然后实例化它,我是这样做的:

    类,从一个名为“action\u 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 回复  |  直到 15 年前
        1
  •  2
  •   Sam Dolan    15 年前

    __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 )它是必需的。看到了吗 有关详细信息,请参阅文档。