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

Python中如何以空行为分隔符将文本文件内容转换为段落列表

按空行分隔提取文本段落的实现方案

段落分隔的核心逻辑是识别去除首尾空白后长度为0的空行,同时拼接同一段落内的跨行内容,以下是两种可直接使用的实现方案:

方案1:基础遍历实现(易理解,支持自定义规则)

该方案逐行读取文件,缓存同一段落的内容,遇到空行时完成一个段落的拼接,适配各种特殊换行场景:

paragraphs = []
current_paragraph = []

with open('text.txt', encoding='utf8') as f:
    for line in f:
        # 去除行首尾的空格、换行符、制表符等空白字符
        stripped_line = line.strip()
        if stripped_line:
            # 非空行加入当前段落缓存
            current_paragraph.append(stripped_line)
        else:
            # 遇到空行且缓存有内容时,拼接为完整段落存入结果
            if current_paragraph:
                paragraphs.append(' '.join(current_paragraph))
                current_paragraph = []
# 补充最后一个段落(末尾通常没有空行收尾)
if current_paragraph:
    paragraphs.append(' '.join(current_paragraph))

运行后得到的paragraphs就是目标列表,每个元素对应一个完整段落。

方案2:简洁批量处理实现

如果不需要对每行内容做复杂预处理,可以直接读取全量内容后按分隔规则拆分:

with open('text.txt', encoding='utf8') as f:
    content = f.read()
# 按两个连续换行拆分段落,再清洗每个段落内的多余空白
paragraphs = [
    ' '.join(para.split())
    for para in content.split('\n\n')
    if para.strip()
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 18:51:03