python 读大文件安全高效方法(readline函数)
with open('filename') as file: # 安全
for line in file: # 高效
do_things(line)
理论上:
readlines()
总体上file.readlines()可以(取决于实现)。
循环在C语言层面。
内存占用为整个文件,开销大。
readline()
不慢于你自己手动的一次次调用file.readline()。
循环在Python语言层面。
内存占用也就是一行的内容
在内存占用上前者可能是后者的好几十百倍,因为前者会一次性把所有数据读取到内存中,而后者只每次读取一行。
Ref
作者:呵呵一笑百媚生
链接:https://www.zhihu.com/question/28426969/answer/40799674
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。