Python最快的方式来读取大文本文件(几GB)
程序员文章站
2022-06-27 21:38:07
我有一个大文本文件(约7 GB)。我正在寻找是否存在阅读大文本文件的最快方法。我一直在阅读有关使用多种方法作为读取chunk-by-chunk以加快进程的过程。 例如,effbot建议 为了每秒处理96,900行文本。其他作者建议使用islice() list(islice(f, n))将返回n文件 ......
我有一个大文本文件(约7 gb)。我正在寻找是否存在阅读大文本文件的最快方法。我一直在阅读有关使用多种方法作为读取chunk-by-chunk以加快进程的过程。
例如,建议
# file: readline-example-3.py file = open("sample.txt") while 1: lines = file.readlines(100000) if not lines: break for line in lines: pass # do something**strong text**
为了每秒处理96,900行文本。其他建议使用islice()
from itertools import islice with open(...) as f: while true: next_n_lines = list(islice(f, n)) if not next_n_lines: break # process next_n_lines
list(islice(f, n))
将返回n
文件的下一行列表f
。在循环中使用它将为您提供大量n
行的文件
解决方案
with open(<file>) as fileobj: for lines in fileobj: print lines # or do some other thing with the line...
将在此时读取一行内存,并在完成后关闭文件...
本文首发于python黑洞网,博客园同步更新
上一篇: 阿里java实习多轮面试,面试问题总结
下一篇: Java 上传和下载文件(附加密和解密)