Python读取文件替换逗号后打印末尾出现额外空白行如何解决
产生原因
Python 内置的print()函数默认会在传入的输出内容末尾自动追加一个换行符\n。绝大多数常规文本文件的末尾本身就自带一个结束换行符,你通过data.read()读取文件时会完整读取到这个换行符,逗号替换操作不会修改该换行符,最终打印时相当于在原有末尾换行的基础上又新增了一个换行,两个连续换行就表现为输出末尾多了一个空白行。
解决方法
可根据使用场景选择以下两种方案:
- 不改动读取到的原始内容,仅修改
print()的默认结束规则,不让它额外追加换行:
将最后一行打印代码调整为:
print(plaintext, end='')
该方案适合需要完整保留原文件所有格式(包括本身的末尾换行)的场景。
- 先移除读取内容末尾的换行符,再正常打印:
在逗号替换操作后增加去除末尾换行的逻辑:
plaintext = plaintext.replace(',', '').rstrip('\n') print(plaintext)
该方案适合不需要保留原文件末尾换行的场景。
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

