欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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黑洞网,博客园同步更新