pythonzhichan

我有一个大文本文件(约7 GB)。我正在寻找是否存在阅读大文本文件的最快方法。我一直在阅读有关使用多种方法作为读取chunk-by-chunk以加快进程的过程。

例如,effbot建议

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

分类:

技术点:

相关文章:

  • 2021-09-07
  • 2022-02-14
  • 2021-07-07
  • 2021-09-07
  • 2021-10-05
  • 2021-12-10
  • 2021-05-15
  • 2021-09-07
猜你喜欢
  • 2021-10-06
  • 2021-12-31
  • 2021-09-07
  • 2021-09-17
  • 2021-09-20
  • 2021-12-14
  • 2021-10-05
相关资源
相似解决方案