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

如何用Python/Notepad++将多行文本拆分为单个行文件(修复代码问题)

拆分文本文件每行到独立文件的解决方法

问题原因

你之前的Python代码存在两个核心问题:

  1. 文件名固定为i.txt,循环时每次都会覆盖这个文件,最终只保留最后一行内容。
  2. 没有处理每行开头的lineX 前缀,直接写入了整行原始内容。

可行Python实现方案

修正后的代码会动态生成对应序号的文件名,并提取每行的有效内容:

with open('all.txt', encoding='utf-8') as f:
    # 从1开始计数,对应1.txt到600.txt的序号
    for file_num, line in enumerate(f, start=1):
        # 拆分每行,提取line前缀后的内容,去除多余换行符
        _, content = line.split(maxsplit=1)
        content = content.strip()
        # 生成目标文件名并写入内容
        with open(f'{file_num}.txt', 'w', encoding='utf-8') as out_file:
            out_file.write(content)

代码说明

  • 直接遍历文件对象,无需一次性读取所有行,更节省内存。
  • enumerate(f, start=1)让计数从1开始,精准匹配目标文件名的序号。
  • split(maxsplit=1)仅拆分第一个空格,精准提取前缀后的内容;strip()去除多余的换行符和空格。
  • 用f-stringf'{file_num}.txt'生成动态文件名,彻底避免文件覆盖问题。

Notepad++实现方案(无需代码)

如果不想用Python,可通过Notepad++的可视化操作完成:

  1. 打开all.txt,按Ctrl+H打开替换窗口,切换到「正则表达式」模式。
  2. 第一步:移除每行前缀
    • 查找目标:^(line\d+ )(.*)$
    • 替换为:\2
    • 点击「全部替换」,此时文件每行只剩纯内容(如aaaaaa)。
  3. 第二步:分割行到独立文件
    • 点击菜单栏「编辑」→「行操作」→「分割线到文件」。
    • 在弹出窗口中设置起始编号为1,文件后缀为.txt,确认后即可生成1.txt到600.txt。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:02:57