如何读取行(从文件中)然后在python中附加+ print?

时间:2009-11-18 21:25:47

标签: python

for line in file:
    print line

在上面的代码中我将其更改为:

for line in file:
    print line + " just a string" 

这只将“只是一个字符串”附加到最后一行

PS:Python新手

3 个答案:

答案 0 :(得分:5)

对文件进行迭代包括行结尾,因此只需删除它们:

for line in file:
  print line.rstrip("\n"), "something"

请注意,print会附加自己的换行符,所以即使没有添加“某些东西”你也想要这样做(或者使用sys.stdout.write而不是print)。如果要删除所有尾随空格(例如空格和制表符),也可以使用line.rstrip()

文档:

  

Files支持迭代器协议。每次迭代都返回与file.readline()相同的结果,并且当readline()方法返回空字符串时迭代结束。

答案 1 :(得分:0)

通过迭代器接收的行包括末尾的换行符 - 所以如果你想在同一行上附加“something”,你需要将其删除。

for line in file:
    print line[:-1] + " something"

答案 2 :(得分:0)

这就是你可以在每一行的末尾附加“东西”的方法:

import fileinput

for line in fileinput.input("dat.txt"):
    print line.rstrip(), ' something'

如果你想将'某些'附加到行然后打印该行:

import fileinput

for line in fileinput.input("dat.txt"):
    line = line.rstrip() + ' something'
    print line
    # now you can continue processing line with something appended to it

dat.txt文件:

> cat dat.txt
one
two and three
four -
five
.

输出:

> ./r.py
one  something
two and three  something
four -  something
five  something
.  something