38

大きなテキスト ファイル (~7 GB) があります。大きなテキストファイルを読むための最速の方法が存在するかどうかを探しています。プロセスを高速化するために、チャンクごとに読み取るいくつかのアプローチの使用について読んでいます。

例では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ファイルの次の行のリストを返しますfnこれをループ内で使用すると、ファイルが行のチャンクで表示されます

4

1 に答える 1

16
with open(<FILE>) as FileObj:
    for lines in FileObj:
        print lines # or do some other thing with the line...

一度に1行をメモリに読み込み、完了したらファイルを閉じます...

于 2013-02-18T19:57:01.550 に答える