文本文件中的Python line.replace正在添加不需要的空白行

时间:2017-06-16 08:15:13

标签: python python-2.7 file-io newline

您好我正在尝试编写一个简单的python代码,用于打开文本文件,匹配字符串,然后用用户输入替换它。我已经设法让它工作(我很肯定有一种更有效的方法)除非我将结果打印到文件时在每行之间添加一个空行。当我两次执行此过程时,它会添加两个空白行。

{{1}}

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您的问题是该文件中的行已有换行符,print会自动添加换行符。最简单的解决方案是将print替换为f.write,这是一个" raw"输出方法:

for line in text:
    f.write(line.replace("*pn*", pn))

for line in text2:
    fi.write(line.replace("*mp*", mp))

或作为单行代码:

f.writelines(line.replace("*pn*", pn) for line in text)
fi.writelines(line.replace("*mp*", mp) for line in text2)