ホームページ >バックエンド開発 >Python チュートリアル >大きなファイルを完全にメモリにロードせずに、Python で効率的に処理するにはどうすればよいですか?
Python で大きなファイルを読み取るための遅延メソッド: 区分処理
Python で大きなファイルを読み取るのは、特にコンピューターの容量を超える場合には困難になることがあります。利用可能なメモリ。この問題を軽減するために、遅延メソッドは、ファイルを部分的に読み取り、各部分を処理し、結果を個別に保存するという解決策を提供します。
方法 1: 収量ベースのジェネレーターを使用する
遅延メソッドを作成する 1 つの方法は、読み取られたデータのチャンクを生成するジェネレーター関数を使用することです。これにより、ファイル全体をメモリにロードせずにファイルを反復処理できます。
def read_in_chunks(file_object, chunk_size=1024): while True: data = file_object.read(chunk_size) if not data: break yield data
使用法:
with open('really_big_file.dat') as f: for piece in read_in_chunks(f): process_data(piece)
方法 2: Iter とヘルパー関数を使用する
もう 1 つのオプションは、iter 関数とヘルパー関数を使用してそれぞれのサイズを定義することです。 chunk.
f = open('really_big_file.dat') def read1k(): return f.read(1024) for piece in iter(read1k, ''): process_data(piece)
方法 3: ラインベースの反復を使用する
ファイルがラインベースの場合は、Python の組み込み遅延ファイルを利用できます。
for line in open('really_big_file.dat'): process_data(line)
これらの遅延メソッドにより、大きなファイルを効率的に処理できます。一度に必要な部分だけを読み取ることで、メモリ消費を削減し、システムのハングを防ぎます。
以上が大きなファイルを完全にメモリにロードせずに、Python で効率的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。