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

Python读取txt文件逐行添加行号输出的问题修复及正确代码

问题原因
  • 原有代码调用readline(i)时传入的参数i代表读取的最大字符数而非读取指定行,是内容截断的核心原因
  • 遍历用的range(1, num_lines)为左闭右开区间,会遗漏最后一行,导致行号匹配错误
  • 两次手动打开文件未安全关闭,存在资源泄漏风险
正确实现代码
# 上下文管理器自动管理文件句柄,无需手动调用close释放资源,指定编码避免跨平台乱码
with open("test.txt", "r", encoding="utf-8") as f:
    # enumerate内置支持指定起始计数,从1开始直接匹配行号需求
    for line_num, line_content in enumerate(f, start=1):
        # rstrip('\n')移除原行末换行符,避免输出多空行
        print(f"[{line_num}] {line_content.rstrip('\n')}")

该实现无需提前统计文件行数,逐行迭代的内存占用极低,适配大文件读取场景,输出格式完全匹配预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:06:02