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

如何编写Python类构造方法:接收文件路径参数并读取为列表输出

修正后的Python类实现

先指出你提供的代码里的几个核心问题:

  • 构造方法硬编码了文件路径,完全没用到传入的参数
  • 文件读取逻辑混乱:空列表循环根本不会执行,读取方式也不符合需求
  • 实例化时传了金额而非文件路径,偏离需求
  • get_descriptive_name方法无实际作用,打印方法对象毫无意义
  • 模块导入放在类内部,不符合Python编码规范

下面是完全符合需求的代码实现:

from pathlib import Path

print("欢迎来到Calculon 5000")
user_path = input("请输入账单文件的路径:")
print(f"你输入的路径是:{user_path}")

class Calculon5000:
    def __init__(self, file_path):
        """构造方法:接收文件路径,读取内容到列表并输出"""
        self.file_path = file_path
        self.content_list = []
        try:
            # 用Path处理路径,兼容Windows/macOS/Linux
            with open(Path(file_path), 'r', encoding='utf-8') as file:
                # 逐行读取并去除换行符,直接生成内容列表
                self.content_list = [line.strip('\n') for line in file]
            # 输出读取结果
            print("\n文件内容读取结果:")
            print(self.content_list)
        except FileNotFoundError:
            print(f"错误:找不到文件 {file_path}")

# 传入用户输入的路径实例化类
the_bill = Calculon5000(user_path)

代码说明:

  • 把pathlib.Path导入放在文件开头,符合Python规范
  • 构造方法严格接收单个文件路径参数,无默认值(匹配需求要求)
  • 使用with open上下文管理器,自动处理文件关闭,避免资源泄漏
  • 用列表推导式高效完成逐行读取和格式处理
  • 捕获文件不存在的异常并给出清晰提示
  • 读取完成后直接输出内容列表,满足需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:07:43