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

如何合并两个Python脚本实现分句分段并按<end>标记输出多文件

Python脚本合并实现方案

完整可运行代码

import re

def main():
    # 读取原始输入文件内容
    with open("input.txt", "r", encoding="utf-8") as input_file:
        raw_text = input_file.read()

    # 第一步:按句末标点拆分所有句子为独立段落
    # 正则匹配中英文句末标点及后续空白字符,替换为标点+双换行实现分段
    sentence_splited_text = re.sub(r"([。!?.!?])\s*", r"\1\n\n", raw_text)

    # 第二步:按<end>标记拆分内容,过滤空块
    content_blocks = [
        block.strip() 
        for block in sentence_splited_text.split("<end>") 
        if block.strip()
    ]

    # 输出为编号文件
    for serial_num, block_content in enumerate(content_blocks, start=1):
        with open(f"{serial_num}.txt", "w", encoding="utf-8") as output_file:
            output_file.write(block_content)

if __name__ == "__main__":
    main()

关键逻辑说明

  • 正则规则r"([。!?.!?])\s*"可匹配中英文常用句末标点,括号用于捕获标点本身避免替换时丢失,\s*匹配标点后任意数量的空格、换行符,替换为\1\n\n即可保证每个句子末尾带两个换行,实现单独成段的格式。
  • 若需要匹配其他特殊句末标点(如省略号…),直接将符号添加到正则的[。!?.!?]字符组内即可。
  • 读写文件统一指定encoding="utf-8",可避免中英文内容乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:24:02