Python实现TXT文件内容反转并插入指定行的问题求助
问题解决思路与代码修正
你的代码存在三个问题:
- 文件名匹配错误:要读取的是
newText.txt而非text.txt,要写入的是newerText.txt而非newtext.txt - 反转后出现两行同行,原因是原文件每行换行符处理不一致(比如最后一行
line 3可能没有末尾换行符),导致写入时内容连在一起 - 未实现插入指定行的需求
修正后的代码如下:
# 读取原文件并统一处理换行符 with open('newText.txt', 'r') as f: # 去掉每行末尾的换行符,避免原文件换行混乱导致的问题 lines = [line.rstrip('\n') for line in f] # 构造目标内容列表:取原文件最后一行 + 插入指定行 + 原文件倒数第二行到第一行的内容 target_lines = [lines[-1]] + ['Python Inserted a new line'] + lines[-2::-1] # 写入新文件,每行末尾添加换行符保证格式正确 with open('newerText.txt', 'w') as f: for line in target_lines: f.write(line + '\n')
代码说明:
rstrip('\n')统一去掉每行的换行符,后续写入时再统一添加,彻底解决换行不一致导致的同行问题lines[-1]直接获取原文件最后一行(line 3),lines[-2::-1]取原文件倒数第二行到第一行的内容(即line 2、line 1),中间插入指定行即可得到目标顺序- 写入时每行都添加
\n,确保最终文件每行独立换行
运行后newerText.txt的内容会完全符合要求:
line 3
Python Inserted a new line
line 2
line 1
内容的提问来源于stack exchange,提问作者Steven Lindsey
相关产品推荐
相关产品推荐

