Python中如何删除脚本解析输出的行间多余空行
去除输出文本行间多余空行的实现方案
从根源解决:在Python解析脚本的输出环节加过滤
这是最省事的方式,不需要后续二次处理:
- 如果你是逐行打印/写入解析得到的内容,只需要在输出逻辑前加一层判断,仅当行内存在实际内容时才执行输出操作
- 代码示例:
替换为带空行过滤的版本:# 原有不带过滤的输出逻辑(会连带输出空行) for line in parse_res: print(line)for line in parse_res: # 行去掉首尾空白后非空才输出,跳过纯空行 if line.strip(): print(line)
存量带空行文本的批量清洗
如果已经跑过脚本生成了带空行的输出文件,不需要回头改原脚本,可以直接对存量文本做清洗:
- 通用文本版本:会同步去掉每一行首尾多余的空格、换行符,适合无排版要求的普通文本
# raw_text 为读取到的原始带空行文本 cleaned = "\n".join( line.strip() for line in raw_text.splitlines() if line.strip() ) - 缩进保留版本:不会删除行首的缩进空格,适合清洗包含代码、缩进格式的文本,不会破坏原有排版
cleaned = "\n".join( line.rstrip("\n") for line in raw_text.splitlines() if line.strip() )
零代码快速处理
如果不想写脚本做清洗,可以用任意支持正则查找替换的文本编辑器完成处理:
- 查找匹配规则:
\n\s*\n - 替换内容:
\n
提示:正则匹配的逻辑是识别任意连续的换行(中间夹着空格/制表符的空行也能识别),替换成单个换行,比编辑器自带的“删除空行”功能更精准,不会误删文本本身保留的段落空行。
内容的提问来源于stack exchange,提问作者Ded Helper
相关产品推荐
相关产品推荐

