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

Python脚本将TXT文件末行移至首行时的换行问题排查与修复

问题原因

脚本出现换行丢失的核心问题是:

  • 使用strip()移除了最后一行的换行符(\n),导致将其插入到首行后,没有换行分隔,直接与原首行内容拼接。
  • readlines()读取的每行内容默认保留末尾的换行符,被strip()处理后的最后一行变成无换行的纯文本,和后续带换行的行拼接时就会出现内容连在一起的情况。
修复方案

以下两种方式任选其一即可:

方式一:移除不必要的strip()调用

readlines()已为每行保留换行符(包括最后一行,除非文件本身末尾无换行),直接将最后一行移到开头即可:

import os

directory = r'E:\Desktop\Social_media\edit8\New folder (2)'

files = [file for file in os.listdir(directory) if file.endswith('.txt')]

for file in files:
    file_path = os.path.join(directory, file)
    
    with open(file_path, 'r') as f:
        lines = f.readlines()
    
    # 直接取出最后一行,不做strip处理
    last_line = lines.pop()
    lines.insert(0, last_line)
    
    with open(file_path, 'w') as f:
        f.writelines(lines)

方式二:手动添加换行符(适合需要清理行尾空格的场景)

如果需要用strip()清理行尾多余空格或空白字符,插入前给最后一行手动添加换行符:

import os

directory = r'E:\Desktop\Social_media\edit8\New folder (2)'

files = [file for file in os.listdir(directory) if file.endswith('.txt')]

for file in files:
    file_path = os.path.join(directory, file)
    
    with open(file_path, 'r') as f:
        lines = f.readlines()
    
    last_line = lines.pop().strip()
    # 添加换行符后再插入
    lines.insert(0, last_line + '\n')
    
    with open(file_path, 'w') as f:
        f.writelines(lines)
额外说明

如果部分TXT文件最后一行本身没有换行符,方式一仍可能出现拼接问题,此时方式二更稳妥——手动添加换行符可确保首行与下一行始终有分隔。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 11:26:26