宣凤阁 2022-06-09 16:19 采纳率: 0%
浏览 29
已结题

Pycharm语句标黄,本是一个传参的,但显示报错?

问题遇到的现象和发生背景

配置环境:Win10 + Python 3.9
软件版本:PyCharm Pro 2022.2 EAP build 222.2889.11

问题相关代码,请勿粘贴截图
import os
import xlrd

class HTEV:

    def __int__(self, root_dir):
        self.root_dir = root_dir

    def handle_order_excel(self):
        order_table = os.path.join(self.root_dir, "订单表.xls")
        tb_data = xlrd.open_workbook(order_table)
        print(tb_data.get_sheet(0).nrows)


if __name__ == '__main__':
    root_dirs = r"D:\HTEV--PM"
    process = HTEV(root_dirs)
    process.handle_order_excel()

运行结果及报错内容
Traceback (most recent call last):
  File "D:\DataGrandAI\0609\demo.py", line 29, in <module>
    process.handle_order_excel()
  File "D:\DataGrandAI\0609\demo.py", line 21, in handle_order_excel
    order_table = os.path.join(self.root_dir, "订单表.xls")
AttributeError: 'HTEV' object has no attribute 'root_dir'

我的解答思路和尝试过的方法

本来在创建对象的时候,初始化的时候,确实是应该传入参数的,
但是不知为何,这个版本的pycharm却显示错误
各位可有解决方案?

我想要达到的结果

初始化,创建实例化对象,读取excel文件,终端打印excel数据

  • 写回答

1条回答 默认 最新

  • 於黾 2022-06-09 16:21
    关注

    你不看报错信息的吗
    人家告诉你是第21行报错,self.root_dir这里
    你放代码只放前19行是几个意思
    -=-=-=
    process 才是HTEV的实例
    你应该用process.root_dir
    而不是self.root_dir
    self只能在类里面用,类外面不能这样写

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月9日
  • 创建了问题 6月9日

悬赏问题

  • ¥15 ecplise在连接数据库时显示加载驱动成功但是数据库连接失败
  • ¥15 visionmaster启动失败,提示为“机器不满足授权而被禁用”
  • ¥50 用logisim设计16位单时钟周期cpu
  • ¥15 IDEA中圈复杂度如何具体设置
  • ¥50 labview采集不了数据
  • ¥15 Multisim红外倒车雷达仿真中距离问题
  • ¥15 请上面代码做什么处理或什么混淆
  • ¥15 英雄联盟自定义房间置顶
  • ¥15 W5500网线插上无反应
  • ¥15 如何用字典的Key,显示在WPF的xaml中