如何编写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
相关产品推荐
相关产品推荐

