Python中file.write自动换行问题求助:未加\n却出现换行
解决Python拼接字符串写入文件自动换行的问题
嘿,这个问题我遇过好多次啦!问题根本不在你写的out_file.write(words+'Positive'),而是**words变量本身的末尾藏着你看不见的换行符(\n)或者回车符(\r)**——哪怕你没手动加\n,这些隐藏字符也会让写入的内容自动换行。
第一步:排查问题根源
你可以在写入文件前,先打印words的“原始面貌”,用repr()能显示所有隐藏的转义字符:
print(repr(words))
比如如果输出是'It is awesome awesome.\n ',那末尾的\n就是换行的罪魁祸首,后面的空格也会导致Positive前多了空格。
第二步:针对性解决
根据你的需求,有几种处理方式:
- 去掉末尾所有空白字符(包括换行、空格、制表符):用
rstrip()方法,它只会处理字符串末尾的内容,不会影响开头:out_file.write(words.rstrip() + 'Positive') - 只去掉换行/回车,保留其他空格:如果不想误删
words末尾原本需要的空格,就精准指定要移除的字符:out_file.write(words.rstrip('\n\r') + 'Positive') - 清理冗余内容:看你例子里的输出多了一个
awesome,如果words本身存在重复内容,还要检查生成words的上游代码,确保它是你期望的"It is awesome."。
这样处理后,写入的内容就会变成你想要的It is awesome. Positive啦!
内容的提问来源于stack exchange,提问作者ViVi
相关产品推荐
相关产品推荐

