3

我对以下代码有问题:

file = open("file.txt", "r")
lines = file.readlines()
print lines[0]
print lines[1]
print lines[2]
file.close()

这段代码给了我行之间的换行符。所以输出是这样的:

line0

line1

line2

如何解决?

4

3 回答 3

3

print 添加一个换行符。从行中删除换行符:

print lines[0].rstrip('\n')
print lines[1].rstrip('\n')
print lines[2].rstrip('\n')

如果您仍然将整个文件读入列表则另一种方法是使用str.splitlines()

lines = file.read().splitlines()

默认情况下同时从行中删除换行符。

于 2014-03-10T14:26:10.367 回答
0

strip在每一行之后做。文件有新行作为最后一个字符。阅读时必须将其删除。

print line[index].strip()
于 2014-03-10T14:27:46.063 回答
0

readlines()将返回一个行数组。每行都以换行符结束。

如果要打印块中的所有行,只需执行以下操作:

with open("file.txt", "r") as file:
    lines = file.readlines()
    print "".join(lines)

使用with,你永远可以保存一个file.close()

于 2014-03-10T14:29:29.947 回答