Python读取文本文件时使用f-string打印出现意外换行问题求助
问题成因
从文本文件中逐行读取内容时,每一条读取结果默认会携带文件中该行末尾自带的\n换行符。你使用的lines[0]本身末尾就包含换行符,所以即使不在f-string中额外添加换行符,输出时也会自动触发换行。
解决方法
你可以根据使用场景选择以下任意一种方案:
- 读取文件时统一移除所有行的末尾换行符,后续直接使用处理后的内容即可
示例代码:
处理后你原有的输出代码with open('你的文件路径', 'r', encoding='utf-8') as f: # 仅移除行尾换行符,保留行首行尾其他需要的空白字符 lines = [line.rstrip('\n') for line in f]print(f'{lines[0]} {lines[2]}')即可正常输出单行结果。 - 仅在输出时处理指定行的换行符,不需要修改整个读取结果列表
把你的输出代码修改为:# 只移除lines[0]末尾的换行符 print(f'{lines[0].rstrip("\n")} {lines[2]}')
内容的提问来源于stack exchange,提问作者Samir
相关产品推荐
相关产品推荐

