首页 > 解决方案 > 尝试访问另一个文件的方法时出现AttributeError

问题描述

我创建了两个 python 文件并尝试从一个文件调用一个函数到另一个文件但面临以下错误,

Traceback (most recent call last):
  File "/home/sadha/PycharmProjects/BizomWeb/venv/lib/customlibs/validator.py", line 3, in <module>
    class validator():
  File "/home/sadha/PycharmProjects/BizomWeb/venv/lib/customlibs/validator.py", line 9, in validator
    func()
  File "/home/sadha/PycharmProjects/BizomWeb/venv/lib/customlibs/validator.py", line 6, in func
    excelData=ExcelLib.read_Excel(excelPath="/home/sadha/PycharmProjects/BizomWeb/venv/resources/Excel/ddata.xls")
AttributeError: module 'ExcelLib' has no attribute 'read_Excel'

ExcelLib.py:

class ExcelLib():

    def read_Excel(self,excelPath):
        data = pd.read_excel(excelPath)
        data_dict = pd.DataFrame(data).to_dict()
        json_str = json.dumps(data_dict)
        resp = json.loads(json_str)
        return resp

验证器.py

import ExcelLib

class validator():

    def func():
        excelData=ExcelLib.read_Excel(excelPath="/home/sadha/PycharmProjects/BizomWeb/venv/resources/Excel/ddata.xls")
        print(excelData)

    func()

标签: python

解决方案


在 validator.py 中,您正在导入ExcelLib 模块,但在validator.func方法中,您似乎正在尝试访问ExcelLib class。要访问 validoator.py 中的 ExcelLib,只需将您的import语句更改为以下内容,这将从模块中导入该类:

from ExcelLib import ExcelLib

推荐阅读