ホームページ >バックエンド開発 >PHPチュートリアル >ギガバイトサイズのファイルをメモリ不足にせずに一行ずつ処理するにはどうすればよいでしょうか?
メモリを過負荷にせずに大容量のファイルを 1 行ずつ読み取る方法
特にファイル サイズがシステムのメモリを超える場合、長いファイルを 1 行ずつ読み取るのは困難になることがあります。容量。このようなシナリオでは、標準的な方法を使用してファイル全体をメモリにロードしようとすると、メモリ不足エラーが発生することがよくあります。
次のコード スニペットを考慮してください。
with open('inputfile.txt', 'r') as f: for line in f: # Process the line
このコードをファイルが大きい場合、ファイル全体がメモリにロードされるため、ファイルがギガバイト範囲にある場合に問題が発生する可能性があります。
この問題を回避するには、次の使用を検討してください。 fgets() 関数。ファイル全体をメモリにロードせずに、ファイルを 1 行ずつ読み取ることができます。
with open('inputfile.txt', 'r') as f: while True: line = fgets(f) if not line: break # Process the line
このアプローチでは、ファイルを 1 行ずつ読み取り、各行が処理されるとメモリが解放されます。メモリ不足エラーを防ぎます。
以上がギガバイトサイズのファイルをメモリ不足にせずに一行ずつ処理するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。