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

如何用Python遍历子目录文件并添加指定内容到目标行

解决方案

需求梳理

  • 遍历指定目录下所有名称符合要求的文件(示例中为.ini格式文件)
  • 筛选出包含指定文本的文件
  • 在匹配到指定文本的行后追加特定内容

修正后的代码

from pathlib import Path

files_dir = "D:/OneDrive/Desktop/testpy/"
target_text = "sometext"
add_text = "mytext"

# 递归遍历目录下所有.ini文件
for file in Path(files_dir).rglob('*.ini'):
    # 读取文件所有行内容
    with file.open('r', encoding='utf-8') as in_file:
        lines = in_file.readlines()
    
    # 跳过不包含目标文本的文件
    if not any(target_text in line for line in lines):
        continue
    
    # 修改内容并写回文件
    with file.open('w', encoding='utf-8') as out_file:
        for line in lines:
            # 匹配包含目标文本的行(如需精确匹配整行,可改为line.strip() == target_text)
            if target_text in line:
                # 处理换行符,避免出现多余空行
                line = line.rstrip('\n') + add_text + '\n'
            out_file.write(line)

关键修正说明

  • 文件打开模式:原代码未指定读写模式,需明确'r'(读)和'w'(写),同时指定编码避免乱码问题
  • 匹配逻辑优化:原代码用line == "sometext"会因换行符存在导致匹配失败,改用target_text in line实现包含匹配,适配实际文本行格式
  • 无意义操作过滤:先检查文件是否包含目标文本,避免对无需修改的文件执行写入操作
  • 换行符处理:通过rstrip('\n')移除原行换行符,添加内容后补回,保证文件格式一致性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:23:16