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

Python文件读写问题:输出文件前两行合并如何修复?附逆序需求

问题排查与修复

代码核心错误

  1. 无效的列表操作:L == L.append(line) 是逻辑比较而非赋值,且list.append()无返回值,导致列表L无法正确存储读取的行内容。正确写法应为直接调用L.append(line)添加元素。
  2. 循环内重复处理逻辑:每次读取一行就执行反转和拼接操作,未等所有行读取完成就反复修改结果,逻辑完全混乱。
  3. 换行符重复添加:print(string, file=out_file) 会自动在输出末尾追加换行符,而拼接后的字符串已包含每行原有的换行符,最终导致格式错乱。

修复后的代码

in_file = open("words.txt", "r")
out_file = open("out_words.txt", "w")
lines = []
# 读取所有行到列表
for line in in_file:
    lines.append(line)
# 反转列表得到逆序内容
reversed_lines = lines[::-1]
# 拼接成字符串并写入文件
out_file.write("".join(reversed_lines))

in_file.close()
out_file.close()

更简洁的写法(推荐)

使用with语句自动管理文件关闭,避免遗漏:

with open("words.txt", "r") as in_file, open("out_words.txt", "w") as out_file:
    # 读取所有行并直接逆序写入
    out_file.writelines(reversed(in_file.readlines()))

验证结果

修复后,输入文件内容:

programming
python
world
hello

输出文件out_words.txt会按要求逆序排列,每行独立:

hello
world
python
programming

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 19:12:35