移除除了最后一行外每行的"\n
现在我有一个 test.txt 文件
1234
5678
我想把每一行打印出来,但不想要换行符 "\n"
file=open("test.txt","r")
lines = file.readlines()
for i in lines:
print i[:-1]
这样做会去掉第一行的 \n,但对于第二行:5678
,最后的 8
会被切掉,因为后面没有 \n
。有什么好的方法可以正确处理这个问题吗?
2 个回答
4
可以使用 rstrip
这个方法。
i.rstrip()
会把字符串右边的所有空白去掉,而 i.rstrip('\n')
只会去掉换行符。
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
,这个方法只会去掉左边的空白字符。