概述
I want to read a huge file in my code. Is read() or readline() faster for this. How about the loop:
for line in fileHandle
解决方案
For a text file just iterating over it with a for loop is almost always the way to go. Never mind about speed, it is the cleanest.
In some versions of python readline() really does just read a single line while the for loop reads large chunks and splits them up into lines so it may be faster. I think that more recent versions of Python use buffering also for readline() so the performance difference will be minuscule (for is probably still microscopically faster because it avoids a method call). However choosing one over the other for performance reasons is probably premature optimisation.
Edit to add: I just checked back through some Python release notes. Python 2.5 said:
It’s now illegal to mix iterating over
a file with for line in file and
calling the file object’s
read()/readline()/readlines() methods.
Python 2.6 introduced TextIOBase which supports both iterating and readline() simultaneously.
Python 2.7 fixed interleaving read() and readline().
最后
以上就是甜蜜可乐为你收集整理的python中readlines()_在Python中,read()或readlines()更快吗?的全部内容,希望文章能够帮你解决python中readlines()_在Python中,read()或readlines()更快吗?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复