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

咨询:如何用Python批量处理30+文本文件,替代手动重复操作

嘿,手动改代码重复处理文件确实太折磨人了!用Python完全能轻松自动化这个流程,我给你两个实用的方案,你可以根据自己的习惯选:

方案1:用os模块(基础易上手)

这个方案用Python内置的os模块,适合刚接触文件操作的朋友,逻辑清晰直观:

import os

def process_file(input_file_path):
    """这里写你的具体文件处理逻辑,替换成你实际需要的操作"""
    with open(input_file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # 举个例子:假设你要把每行的单词连成句子,这里只是占位,换成你的真实处理
    processed_content = ' '.join(content.splitlines())
    
    return processed_content

# 指定要处理的文件夹路径,当前目录就用'./',其他路径直接写,比如'D:/text_files/'
target_folder = './'

# 遍历文件夹里的所有文件
for filename in os.listdir(target_folder):
    # 只处理以_words.txt结尾的文件
    if filename.endswith('_words.txt'):
        # 拼接完整的输入文件路径
        input_path = os.path.join(target_folder, filename)
        # 生成输出文件名:把_words.txt替换成_sentences.txt
        output_filename = filename.replace('_words.txt', '_sentences.txt')
        output_path = os.path.join(target_folder, output_filename)
        
        # 执行处理并保存结果
        processed_content = process_file(input_path)
        with open(output_path, 'w', encoding='utf-8') as f:
            f.write(processed_content)
        
        print(f"搞定:{filename} → {output_filename}")

关键点说明:

  • process_file函数:必须把里面的示例代码换成你实际的处理逻辑(比如分词、格式转换等)
  • 编码:如果你的文件不是UTF-8编码,把encoding='utf-8'改成对应的编码(比如gbk)
  • 路径:target_folder可以改成你存放文件的真实路径
方案2:用pathlib模块(更简洁的现代写法)

Python3.4+自带的pathlib模块用面向对象的方式处理路径,代码更简洁易读:

from pathlib import Path

def process_file(input_file_path):
    """和方案1一样,替换成你的实际处理逻辑"""
    with open(input_file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # 示例处理:把换行换成句号加空格,模拟生成句子
    processed_content = content.replace('\n', '. ')
    
    return processed_content

# 指定目标文件夹
target_folder = Path('./')

# 直接筛选所有以_words.txt结尾的文件
for input_file in target_folder.glob('*_words.txt'):
    # 生成输出文件名:去掉原后缀,替换_words为_sentences,再加.txt
    output_filename = input_file.stem.replace('_words', '_sentences') + '.txt'
    output_file = target_folder / output_filename
    
    # 处理并保存
    processed_content = process_file(input_file)
    output_file.write_text(processed_content, encoding='utf-8')
    
    print(f"处理完成:{input_file.name} → {output_filename}")

额外建议:

  • 备份文件:如果担心处理出错,可以先复制原文件到备份文件夹,再执行处理
  • 避免覆盖:可以在保存前加个判断,如果输出文件已经存在,提示或者跳过:
    if output_file.exists():
        print(f"警告:{output_filename}已存在,跳过处理")
        continue
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:37:57