我读过file.readlines
逐行读取整个文件并将其存储在列表中。
如果我有这样的档案-
Sentence 1
Sentence 2
Sentence 3
我用readlines
来打印每个句子,就像这样-
file = open("test.txt")
for i in file.readlines():
print i
输出是
Sentence 1
Sentence 2
Sentence 3
我的问题是,为什么我要在每句话之间加上一条线,我如何才能去掉它?
更新
我发现使用i.strip
也会删除多余的行。为什么会这样?据我所知,split
删除字符串末尾和开头的空白。
file.readlines()
返回字符串列表。每个字符串都包含尾随的换行符。print
语句用newlnie.打印传递的参数。这就是为什么有多余的行。要删除多余的换行符,请使用
str.rstrip
:或者使用
sys.stdout.write
顺便说一下,不要使用
file.readlines
,除非您需要同时使用所有行。只需迭代文件。更新
在Python 3中,为了防止
print
打印尾随的换行符,可以使用print(i, end='')
。在Python 2中,如果使用相同的特性,则可以使用:^{}
更新答案
制表符、换行符也被视为空白。
(以及
file.readline()
)包括新行。做
如果你不想要的话。
将换行符包含在行尾似乎有些奇怪,但这允许您判断最后一行是否有换行符。在许多语言的I/O中,这种情况很棘手
下面将为您删除换行符。
希望这有帮助。
相关问题 更多 >
编程相关推荐