2010-06-01 53 views
6

我试图取代一个值的文件的一些文本。一切正常,但当我看完文件后,文件中的每一行后都有一个新的(空白)行。有什么我可以做,以防止这种情况发生。文件替换文本与Python

下面是代码,因为我有它:

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

谢谢 亚伦

回答

3

每个line是从与它的结尾换行符的文件读取和打印增加了自己的一个。

您可以:

print line, 

行之后不会增加一个换行符。

+0

这个工作知府!感谢您的帮助 – Aaron 2010-06-01 18:33:46

+0

所以事实证明我遇到了一个问题。出于某种原因,当我这样做文本替换其他文件正在发生。我使用了一个名为为的TextWrangler文本编辑程序,当我尝试打开它告诉我的文件“时发生意外的I/O错误(MacOS的错误代码:-36)。在此之前,‘查找和替换’它打开罚款的任何想法这可能是造成这样的事情 – Aaron 2010-06-02 15:22:36

+0

我也只是看到,当我尝试查看从它问我是否要查看,因为它是一个二进制文件的终端原始文件也许这就是问题所在 – Aaron 2010-06-02 15:28:44

2

print line自动添加一个换行符。你最好做一个sys.stdout.write(line)来代替。

0

print增加了一个新行字符:

A '\ n' 字符在年底写的,除非打印语句用逗号结束。如果声明仅包含关键字print,则这是唯一的操作。