用Python替换文件中的文本
我正在尝试用一个值替换文件中的一些文本。一切都运行得很好,但当我查看完成后的文件时,发现每一行后面都有一个新的(空白)行。有没有什么办法可以防止这种情况发生?
这是我写的代码:
import fileinput
for line in fileinput.FileInput("testfile.txt",inplace=1):
line = line.replace("newhost",host)
print line
谢谢,
Aaron
3 个回答
0
print
会在输出的最后加一个换行符:
在输出的最后会加上一个 '\n' 字符,除非这个打印语句的结尾有一个逗号。如果这个语句只有
2
使用print line
的时候,它会自动在输出的内容后面加一个换行符。为了避免这个情况,你最好用sys.stdout.write(line)
来输出内容。
3
每一行内容都是从文件中读取的,包括行末的换行符,而打印的时候又会自己加一个换行符。
你可以:
print line,
这样做的话,就不会在行后面再加一个换行符了。