TypeError:在Python中“模块”对象不可调用

-1 投票
1 回答
726 浏览
提问于 2025-04-18 17:01

我找到很多和这个问题相关的文章,但没有一个解决方案在我这里有效。

我创建了一个叫做 Thelephony_Test.py 的文件,里面有:

import Preconfig

m_device_cfg = Preconfig.Device_Config(..parameters...)

Preconfig 类是在 Preconfig.py 文件中定义的,具体如下:

import Devices

class Device_Config(Devices):
    def __init___(self, ...parameters...):
        Devices.__init___(...parameters...)

Devices 类是在 Devices.py 文件中定义的,具体如下:

class Devices(object):
    def __init__(self, ...parameters...):
         self._xxx = parameter1
         self._yyy = parameter2

我仍然遇到下面的错误:

 File "C:\Users\scayetanot\workspace\AutomationTests\TestScripts\Telephony_Test.py", line 40, in <module>
    m_device_cfg = Preconfig.Device_Config(m_device_adb_id, monkey_mdevice, easymonkey_mdevice, mhierarchyviewer, "M_TEL", mdevicetype)
TypeError: 'module' object is not callable

我尝试把调用的导入方式从 import 改成了 from ... import ...,

但问题依然存在。有没有什么建议?

非常感谢!

1 个回答

2

这段代码

import Devices

是用来创建一个指向名为 Devices 的模块的引用,这个模块在 Preconfig.py 文件里。你不能像在

class Device_Config(Devices):

中那样直接从一个模块继承,因为模块和类是不同的东西。

你需要从同名的 Devices 中继承,具体方法是使用

class Device_Config(Devices.Devices):

撰写回答