在Python中使用readlines坏代码?

时间:2010-12-26 12:53:55

标签: python

我使用file.readlines进行了回答。评论家说使用readlines是废话代码(以及其他非常粗鲁的陈述)。

这么糟糕吗?

4 个答案:

答案 0 :(得分:9)

我认为问题在于readlines()将整个文件加载到内存中,从理论上讲,这可能很多。

懒惰的方法(迭代文件并根据需要逐步读取)在内存使用方面确实更好。但不确定效率。

答案 1 :(得分:6)

好吧,坏与坏。但它将整个文件加载到内存中可能会出现问题,并且有更好的方法:

 for line in file:

这与

相同
 for line in file.xreadlines():

这是readlines()的一个版本,它不会读取内存中的整个文件。它也可以在Python 3中作为额外的奖励,而xreadlines()则不然。

所以无论它是否“坏”,都没有理由像以往一样使用它。所以不要。 :)

答案 2 :(得分:5)

不,readlines没问题。您只需记住,整个文件一次存储在内存中。

答案 3 :(得分:-1)

不,不是。另一方面,您可以使用xreadlines来获得更快的代码。