python - 尝试访问另一个文件的方法时出现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()
解决方案
在 validator.py 中,您正在导入ExcelLib
模块,但在validator.func
方法中,您似乎正在尝试访问ExcelLib
class。要访问 validoator.py 中的 ExcelLib类,只需将您的import
语句更改为以下内容,这将从模块中导入该类:
from ExcelLib import ExcelLib
推荐阅读
- symfony - Symfony 4:只允许活动帐户登录
- java - 如何确定用户是否已在 Firebase 中使用电子邮件注册?
- ms-access - 访问 docmd.transferspreadsheet 特定单元格
- react-native - React - 本机 StackNavigator 在点击返回按钮后刷新前一个组件
- angular - 使用 LocalStorage 中的 AuthToken 为 NgRx Store 补水的正确方法和位置
- javascript - 字体真棒性能
- javascript - 添加或删除行时如何使文本区域保持在正确的位置
- python - Python:如何在打印到文件时为日志着色?
- node.js - 如何解决 TypeError: Cannot read property 'push' of undefined in simple node project?
- sql - 将不同表中的列与条件和 AVG 组合