如何在终端输出.txt文件内容时保留原文件的正确换行格式
问题根源
你当前代码中调用的str.strip()方法会移除字符串首尾的所有空白字符,包括每行末尾自带的换行符\n,后续用空字符串拼接所有行时自然就丢失了原有的换行格式。
解决方案
这里提供两种常用的适配方案,可根据需求选择:
方案1:无需逐行处理时直接读取全量内容
这是最简单的实现方式,read()方法会完整保留原文件的所有排版、换行信息:
def load_text(): with open("text_block.txt", "r") as f: return f.read()
方案2:需要逐行做自定义处理时的实现
如果你需要遍历每行做校验、清洗等操作,拼接时用换行符\n连接所有行即可:
def load_text(): with open("text_block.txt", "r") as f: lines = [] for line in f: # 如果不需要去除每行的首尾空白,直接删除.strip()即可 lines.append(line.strip()) # 用换行符拼接还原原排版 return '\n'.join(lines)
内容的提问来源于stack exchange,提问作者Nikko Cleri
相关产品推荐
相关产品推荐

