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

如何修改Python代码将清洗后的文本结果写入新.txt文件

Python实现文本清洗结果写入本地文件方案

你现有代码已经完成了文件读取、正则匹配清洗的逻辑,只需要补充文件写入逻辑即可,推荐使用上下文管理器自动管理文件资源,避免手动关闭文件的遗漏问题。

推荐实现(边读边写,低内存占用,适配大文件场景)

直接在原有代码基础上新增写入文件的句柄,把原本打印到控制台的内容写入目标文件即可,完整代码如下:

import re

# 同时打开源数据文件、结果输出文件,显式指定编码避免跨系统乱码
with open("data.txt", "r", encoding="utf-8") as infile, open("cleaned_output.txt", "w", encoding="utf-8") as outfile:
    for line in infile:
        search_result = re.search(r"^(An act (?:.+?)\.)", line)
        if search_result:
            matched_text = search_result.group(1)
            # 写入内容时追加换行符,避免所有内容挤在同一行
            outfile.write(f"{matched_text}\n")
            # 如果需要同时在控制台查看输出结果,保留下面的print语句即可
            print(matched_text)

可选实现(先收集结果再一次性写入,适配小文件场景)

如果源文件体积不大,也可以先把所有匹配到的清洗结果存入列表,最后一次性写入文件,减少IO操作次数:

import re

cleaned_content = []
with open("data.txt", "r", encoding="utf-8") as infile:
    for line in infile:
        search_result = re.search(r"^(An act (?:.+?)\.)", line)
        if search_result:
            cleaned_content.append(search_result.group(1))

with open("cleaned_output.txt", "w", encoding="utf-8") as outfile:
    # 用换行符拼接所有结果后一次性写入
    outfile.write("\n".join(cleaned_content))

关键注意事项

  • 打开文件时建议显式传入encoding="utf-8"参数,避免Windows等系统默认GBK编码导致的乱码问题
  • 用"w"模式打开文件会覆盖目标文件原有内容,如果需要在已有文件末尾追加清洗结果,把打开模式改为"a"即可
  • 单独调用write()方法时不会自动追加换行,需要手动添加\n保证每条结果单独占一行
  • 用with语句管理文件对象时,代码块执行结束后会自动关闭文件,不需要手动调用close()方法,避免文件资源泄漏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:21:36