用Python替换文件中的文本

用Python替换文件中的文本,python,file,text,replace,Python,File,Text,Replace,我试图用一个值替换文件中的一些文本。一切正常,但当我在文件完成后查看文件时,文件中的每一行后面都有一个新的(空白)行。我能做些什么来防止这种情况发生吗 以下是我的代码: import fileinput for line in fileinput.FileInput("testfile.txt",inplace=1): line = line.replace("newhost",host) print line 谢谢,, 亚伦打印行自动添加换行符。您最好

我试图用一个值替换文件中的一些文本。一切正常,但当我在文件完成后查看文件时,文件中的每一行后面都有一个新的(空白)行。我能做些什么来防止这种情况发生吗

以下是我的代码:

  import fileinput
    for line in fileinput.FileInput("testfile.txt",inplace=1):
       line = line.replace("newhost",host)
       print line
谢谢,,
亚伦

打印行自动添加换行符。您最好改为执行
sys.stdout.write(line)

从文件中读取每个
行及其结尾的换行符,打印时添加一行

你可以:

print line,
不会在行后添加换行符。

添加新行字符:

除非print语句以逗号结尾,否则结尾将写入“\n”字符。如果语句仅包含关键字print,则这是唯一的操作


结果我遇到了一个问题。由于某种原因,当我执行此文本替换时,文件中发生了其他情况。我使用一个名为TextWrangler的程序进行文本编辑,当我试图打开该文件时,它会告诉我“发生了意外的I/O错误(MacOS错误代码:-36)。在此之前”查找并替换“它开得很好。知道是什么导致了这样的事情吗?我只是看到当我试图从终端查看原始文件时,它会询问我是否要查看,因为它是一个二进制文件。也许这就是问题所在?@Aaron:也许你在两个操作系统之间出现了换行问题?我建议你准确地定义问题,并提出一个新问题。尽量包含更多的信息