删除除最后一行之外的每一行的“\ n”

时间:2013-03-24 20:15:42

标签: python io

目前我有一个test.txt

1234
5678

我想在不使用换行符“\ n”<\ p>的情况下打印出每一行

file=open("test.txt","r")
lines = file.readlines()
for i in lines:
    print i[:-1]

这将删除第一行的\ n,但对于第二行:56788将被切断,因为后面没有\n。什么是正确处理这个问题的好方法?

2 个答案:

答案 0 :(得分:4)

使用rstrip

i.rstrip()将从右侧删除所有空格,i.rstrip('\n')只删除换行符。

答案 1 :(得分:4)

您可以使用str.rstrip

for i in lines:
    print i.rstrip('\n')

这将删除每一行的换行符(如果有的话)。 rstrip本身会删除所有尾随空格,而不仅仅是换行符。

例如:

>>> 'foobar\n'.rstrip('\n')
foobar
>>> 'foobar'.rstrip('\n')
foobar
>>> 'foobar  \t \n'.rstrip()
foobar

相关的是str.strip,它从两端剥离,而str.lstrip只从左侧剥离。