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

如何用Python自动化拆分含唯一ID的记事本文件?

自动化处理文本文件生成对应ID命名的新文件

完全可以用你掌握的Python文件IO知识实现这个自动化操作,不需要复杂的第三方库,核心逻辑就是读取原文件、分离头部与语句、循环生成新文件。

核心实现步骤

  1. 读取原始文本文件的所有内容
  2. 区分头部内容和每条带ID的语句
  3. 提取每条语句的唯一ID,将头部+对应语句写入以ID命名的新文件

示例代码(可根据实际文件格式调整)

# 读取原始文件,替换成你的源文件路径
with open('source_notes.txt', 'r', encoding='utf-8') as f:
    all_content_lines = f.readlines()

# 分离头部和语句:这里假设头部是第一个带ID的行之前的内容
# 你需要根据自己的文件格式修改判断逻辑,比如ID行的特征(比如开头是"ID:"、数字等)
header_lines = []
statement_blocks = []
current_statement = []
is_header_section = True

for line in all_content_lines:
    # 示例判断:如果行首包含"ID:",则认为是新语句的开始
    if line.strip().startswith("ID:"):
        # 如果之前有未保存的语句(针对跨多行的语句),先存入列表
        if current_statement:
            statement_blocks.append(''.join(current_statement))
            current_statement = []
        is_header_section = False
        current_statement.append(line)
    else:
        if is_header_section:
            header_lines.append(line)
        else:
            # 如果语句是多行内容,就追加到当前语句块
            current_statement.append(line)
# 处理最后一条语句
if current_statement:
    statement_blocks.append(''.join(current_statement))

# 把头部内容转为字符串
header_content = ''.join(header_lines)

# 循环生成每个新文件
for stmt in statement_blocks:
    # 提取ID:这里假设ID格式是"ID:12345",提取冒号后的数字部分
    # 请根据你的实际ID格式修改提取逻辑
    id_start = stmt.find("ID:") + 3
    id_end = stmt.find(" ", id_start)  # 假设ID后跟着空格
    if id_end == -1:
        id_end = stmt.find("\n", id_start)
    id_str = stmt[id_start:id_end].strip()
    
    # 处理文件名非法字符,避免创建失败
    safe_id = id_str.replace("/", "_").replace("\\", "_").replace(":", "_").replace("?", "_")
    new_file_name = f"{safe_id}.txt"
    
    # 写入头部+当前语句到新文件
    with open(new_file_name, 'w', encoding='utf-8') as new_file:
        new_file.write(header_content)
        new_file.write(stmt)

需要根据你的文件调整的关键点

  • 头部与语句的分隔逻辑:如果你的头部有明确的结束标记(比如一行全是---),可以直接用这个标记来分割头部和语句部分;如果语句都是单行,逻辑可以更简单。
  • ID提取逻辑:根据你文件中ID的实际格式调整(比如ID是行首的数字、或者特定标签后的内容)。
  • 多行语句处理:如果每条语句可能跨多行,要确保完整捕获整个语句块再存入列表。

你的入门Python知识完全足够完成这个任务,重点是理清文件的结构,调整代码中的判断和提取逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:15:29