4

目前我有一个 test.txt

1234
5678

我想打印没有换行符“\n”的每一行

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

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

4

2 回答 2

4

使用rstrip.

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

于 2013-03-24T20:17:24.543 回答
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,仅从左侧剥离。

于 2013-03-24T20:17:44.907 回答