大規模なテキスト ファイルの特定の行への効率的なジャンプ
大きなテキスト ファイルを扱う場合、行単位で処理するのが面倒になることがあります。特定の行にジャンプする必要がある場合は、行単位で移動します。指定したコード スニペットは、目的の行に到達するまでファイル全体を反復処理しますが、ファイルが大きい場合は非効率的になる可能性があります。
エレガントな解決策: 行オフセットを使用する
ファイルを順次処理する代わりに、行オフセットを利用することで、より洗練されたアプローチを採用できます。ファイルを 1 回実行することで、各行の開始位置に対応するオフセットのリストを作成できます。これにより、前の行をすべて読まなくても、指定した行に直接ジャンプできるようになります。その仕組みは次のとおりです。
<code class="python"># Initialize an empty list to store line offsets line_offset = [] # Read the file once and build the line offset list offset = 0 for line in file: line_offset.append(offset) offset += len(line) # Seek to the desired line file.seek(line_offset[n]) # Proceed with processing the line DoSomethingWithThisLine(line)</code>
この方法を使用すると、大きなテキスト ファイル内の特定の行を検索する効率が大幅に向上します。これにより、逐次処理の必要がなくなり、必要な行がファイルの遠くにある場合でも、必要な行に直接アクセスできるようになります。
以上が巨大なテキスト ファイル内の特定の行に効率的にジャンプするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。