如何合并文本文件中空行分隔的多行内容?
问题描述
我有一个格式如下的文本文件:
a b c d e f
希望将空行分隔的内容分别合并,最终得到如下格式:
abc def
我尝试过以下代码:
result = " ".join(line.strip() for line in file)
该代码虽能合并内容,但会给所有内容添加空格,我仅想在原空行位置添加空格,请问是否可行?
解决方案
完全可行,你可以通过按空行分割段落→段落内拼接→段落间用空格连接的思路实现:
代码示例
# 读取目标文件 with open("your_file.txt", "r", encoding="utf-8") as f: text_content = f.read() # 按空行分割成段落,同时过滤掉可能的空段落 paragraphs = [] for para in text_content.split("\n\n"): cleaned_para = para.replace("\n", "").strip() if cleaned_para: paragraphs.append(cleaned_para) # 用空格连接所有处理后的段落 final_result = " ".join(paragraphs) print(final_result) # 输出结果:abc def
原理说明
text_content.split("\n\n"):把整个文本按连续换行(空行)分割成独立段落,原文本会被分成["a\nb\nc", "d\ne\nf"]两组内容- 对每个段落,用
replace("\n", "")去掉内部的换行符,直接拼接成无空格的字符串,比如"a\nb\nc"会变成"abc" - 最后用
" ".join(paragraphs)把所有段落用空格连接,正好对应原空行的位置添加空格
内容的提问来源于stack exchange,提问作者Squilliam
相关产品推荐
相关产品推荐

