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

Python批量操作TXT文件:追加文本及拆分后追加头部的实现

问题1:如何在Python中向多个TXT文件追加相同的文本?

直接遍历目标文件列表,以追加模式打开文件并写入指定文本即可,以下是两种常见实现方式:

方式1:指定具体文件路径列表

如果明确知道要操作的文件路径,直接构建列表循环处理:

# 要追加的文本内容
append_text = """
company:: acme products
department:: sales
floor:: 1
"""

# 目标文件列表
target_files = ["chunk_1.txt", "chunk_2.txt", "chunk_3.txt"]

for file_path in target_files:
    # 以追加模式打开文件('a'表示追加,encoding确保字符兼容)
    with open(file_path, 'a', encoding='utf-8') as f:
        f.write(append_text)

方式2:批量匹配同目录下的TXT文件

如果需要操作某目录下所有TXT文件,用glob模块批量匹配:

import glob

append_text = """
company:: acme products
department:: sales
floor:: 1
"""

# 匹配当前目录下所有.txt文件
txt_files = glob.glob("*.txt")

for file_path in txt_files:
    with open(file_path, 'a', encoding='utf-8') as f:
        f.write(append_text)

问题2:拆分文本为带增量时间戳的独立文件,并追加头部信息

结合需求,需完成提取头部信息、拆分用户块、生成增量时间戳、写入目标文件四个核心步骤,以下是完整实现代码:

完整代码:

from datetime import datetime, timedelta

# 原始文件路径
input_file = "original_data.txt"
# 初始时间戳(可按需修改)
current_time = datetime(2022, 7, 15, 15, 12, 25)
# 时间增量:每次递增1秒
time_increment = timedelta(seconds=1)

# 1. 读取并分离头部信息与用户数据
with open(input_file, 'r', encoding='utf-8') as f:
    content = f.read()

# 精准拆分头部和用户块:头部截止到第一个"\n\nname::"前的内容
header_end_pos = content.find("\n\nname::")
header = content[:header_end_pos].strip() + "\n\n"
# 拆分所有用户块并过滤空内容
user_blocks = content[header_end_pos:].split("\n\n")
user_blocks = [block.strip() for block in user_blocks if block.strip()]

# 2. 处理每个用户块并生成目标文件
for idx, block in enumerate(user_blocks, start=1):
    # 生成格式化时间戳
    timestamp_str = current_time.strftime("%Y-%m-%d (%Hh %Mm %Ss)")
    # 补全用户块中的timestamp字段
    updated_block = block.replace("timestamp::", f"timestamp:: {timestamp_str}")
    # 拼接最终内容:用户块 + 公共头部
    final_content = f"{updated_block}\n{header}"
    # 写入文件
    output_file = f"chunk_{idx}.txt"
    with open(output_file, 'w', encoding='utf-8') as f:
        f.write(final_content)
    # 更新时间戳
    current_time += time_increment

print("文件生成完成!")

关键逻辑说明:

  • 头部提取:通过定位\n\nname::的位置,精准分离公共头部与用户数据,保留原始格式
  • 时间增量:用datetime和timedelta实现每秒递增的时间戳,完全匹配需求格式
  • 文件命名:按chunk_1.txt、chunk_2.txt的规则生成,确保每个文件内容符合示例要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:30:24