for line in file:
print line
在上面的代码中我将其更改为:
for line in file:
print line + " just a string"
这只将“只是一个字符串”附加到最后一行
PS:Python新手
答案 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