在Python中,在
之后fh = open('file.txt')
可以执行以下操作来迭代线:
for l in fh:
pass
那我们为什么要fh.readlines()
?
答案 0 :(得分:17)
我认为它来自文件之前的迭代器,并且是为了向后兼容而维护的。即使对于单行,它的完全 1 相当多余,因为list(fh)
将以更直观的方式做同样的事情。这也让您可以自由地set(fh)
,tuple(fh)
等等。
1 请参阅gnibbler's answer。
答案 1 :(得分:16)
主要是为了向后兼容。 readlines在文件对象可迭代之前就已经存在了
使用带有size参数的readlines也是从文件读取的最快方法之一,因为它在一次点击中读取了大量数据,但不需要一次性为整个文件分配内存
答案 2 :(得分:1)
readlines()
会返回一个行列表,如果您不打算遍历每一行,则可能需要这些行。