大きなテキスト ファイルの特定の行に効率的にジャンプするにはどうすればよいですか?

DDD
リリース: 2024-10-31 09:49:29
オリジナル
865 人が閲覧しました

How to Efficiently Jump to a Specific Line in Large Text Files?

大きなテキスト ファイルの特定の行への効率的なジャンプ

行の長さが不明な大量のテキスト ファイルを処理する場合、問題なく特定の行にジャンプします。ファイル全体を反復処理すると、効率が大幅に向上します。質問で強調されている一般的なアプローチは反復的ですが、最適な解決策ではありません。

よりエレガントで効率的な代替方法には、前処理パスの各行の開始バイト オフセットを特定することが含まれます。これは、次のようにオフセットのリストを構築することで実現できます:

<code class="python">line_offset = []
offset = 0
for line in file:
    line_offset.append(offset)
    offset += len(line)</code>
ログイン後にコピー

この前処理されたリストが構築されると、特定の行にジャンプするのは簡単になります:

<code class="python">file.seek(line_offset[n])</code>
ログイン後にコピー

ここで、n は目的の行のインデックス (最初の行は行 0)。この手法により、ファイル全体をスキャンせずに任意の行に直接移動できるため、大規模なデータセットの処理時間を大幅に短縮できます。

以上が大きなテキスト ファイルの特定の行に効率的にジャンプするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!