You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遇ModuleNotFoundError报错,求指导跨文件调用类__init__方法

解决ModuleNotFoundError: No module named 'Exception'及调用类__init__方法的问题

报错信息

ModuleNotFoundError: No module named 'Exception'

相关代码

HelperUtils/CommonAutomationFunction_Util.py

import pywinauto

class CommonAutoLib():
    """   
    """
    _logger = None
    _autoWait = None
    _yamlContent = None

    def __init__(self):
        super().__init__()
        self._logger = super()._init_logger()
        self._CommonGUILocators = self.loadAndReturnYAMLFile('GUILocators/CommonGUILocators.yaml')

LoadProfile.py

from HelperUtils.CommonAutomationFunction_Util import CommonAutoLib

CommonGUILocators = CommonAutoLib().loadAndReturnYAMLFile('GUILocators/CommonGUILocators.yaml')

问题分析与解决方案

  1. 处理ModuleNotFoundError

    • Exception是Python内置异常类,不需要导入。出现该错误,说明你的代码(大概率是CommonAutoLib继承的父类、或loadAndReturnYAMLFile方法内部)存在错误的import Exception语句,找到并删除该导入即可。
    • 另外,当前CommonAutoLib未显式继承任何类,但__init__中调用了super().__init__()和super()._init_logger(),这说明该类应当继承项目内的某个基础类(比如包含日志初始化逻辑的基类),请确保父类已正确导入且路径无误。
  2. 正确调用__init__并获取目标属性

    • 类实例化时,__init__方法会自动执行。你当前实例化CommonAutoLib()时,__init__已经运行,且内部已调用loadAndReturnYAMLFile并将结果赋值给self._CommonGUILocators。
    • 修改LoadProfile.py,直接从实例中获取初始化完成的属性即可:
      from HelperUtils.CommonAutomationFunction_Util import CommonAutoLib
      
      # 实例化时自动执行__init__完成初始化
      auto_lib = CommonAutoLib()
      # 直接获取已初始化的CommonGUILocators
      CommonGUILocators = auto_lib._CommonGUILocators
      
    • 若确实需要单独调用loadAndReturnYAMLFile,请先确保类的继承关系正确,避免super()调用报错。
  3. 补充:修复CommonAutoLib的继承问题

    • 如果CommonAutoLib需要继承某个父类(比如BaseAutoLib),请显式声明继承关系:
      import pywinauto
      # 导入父类,确保路径正确
      from HelperUtils.BaseAutoLib import BaseAutoLib
      
      class CommonAutoLib(BaseAutoLib):
          _logger = None
          _autoWait = None
          _yamlContent = None
      
          def __init__(self):
              super().__init__()
              self._logger = super()._init_logger()
              self._CommonGUILocators = self.loadAndReturnYAMLFile('GUILocators/CommonGUILocators.yaml')
      

内容的提问来源于stack exchange,提问作者srikanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 10:45:09