大きなテキストファイルをメモリにロードせずに行ごとに読み取るにはどうすればよいでしょうか? [重複] 質問する

大きなテキストファイルをメモリにロードせずに行ごとに読み取るにはどうすればよいでしょうか? [重複] 質問する

readlines()大きなファイル (>5GB) を、その内容全体をメモリにロードせずに行ごとに読み取りたいのですが、メモリ内に非常に大きなリストが作成されるため、使用できません。

ベストアンサー1

forファイルオブジェクトを1行ずつ読み込むには、ループをwith open(...)使用します。コンテキストマネージャー読み取り後にファイルが閉じられていることを確認します。

with open("log.txt") as infile:
    for line in infile:
        print(line)

おすすめ記事