我有一個大的文本文件(〜7 GB)。我正在尋找是否存在讀取大型文本文件的最快方法。我一直在閱讀有關使用幾種方法逐塊閱讀以加快這一過程。Python最快的方式來讀取大文本文件(幾GB)
在示例effbot爲了處理96900行每秒文本的建議
# 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**
。 其他authors建議使用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
線
你爲什麼不檢查你自己對你來說最快? – piokuc 2013-02-18 19:54:37
在這裏提出建議:http://stackoverflow.com/questions/14863224/efficient-reading-of-800-gb-xml-file-in-python-2-7 – BenDundee 2013-02-18 19:56:53
@Nix我不想閱讀一行一行,但塊大塊 – 2013-02-18 20:07:25