ホームページ > バックエンド開発 > Python チュートリアル > ファイルサイズを考慮して、Python ファイル内の行を効率的に検索および置換するにはどうすればよいですか?

ファイルサイズを考慮して、Python ファイル内の行を効率的に検索および置換するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-01 05:13:11
オリジナル
232 人が閲覧しました

How Can I Efficiently Search and Replace Lines in Python Files, Considering File Size?

Python を使用したファイル内の行の検索と置換

Python でテキスト ファイル内の行を効率的に検索および置換するには、次のような思慮深いアプローチが必要です。ファイル サイズの制約を考慮します。

インプレース用ファイル入力モジュール修正

小さなファイルの場合、fileinput モジュールは簡潔な解決策を提供します。標準出力を元のファイルにリダイレクトすることで特定の行を置き換え、ファイルを直接反復処理できます。以下に例を示します。

import fileinput

with fileinput.input(file, inplace=True) as f:
    for line in f:
        newline = line.replace('foo', 'bar')
        print(newline, end='')
ログイン後にコピー

大きなファイルに対する代替アプローチ

メモリにロードできない大きなファイルを扱う場合、2 つの実行可能なオプションがあります。

1.メモリベースのアプローチ

  • ファイル全体を変数に読み取ります。
  • 検索および置換操作を実行します。
  • ファイルを閉じて再度開きます。書き込みモード。
  • 変更された内容を書き戻します。内容。

2.一時ファイルのアプローチ

  • 書き込み用に一時ファイルを開きます。
  • 元のファイルをループし、変更の必要のない行をコピーします。
  • 行の場合置換が必要な場合は、変更したバージョンを一時ファイルに書き込みます。
  • 両方を閉じます。ファイル。
  • 元のファイルを一時ファイルに置き換えます。

これらのアプローチのどちらを選択するかは、ファイル サイズとメモリの制約によって異なります。小さなファイルの場合は、その簡単さのため、通常は最初のアプローチが好まれます。大きなファイルの場合、一時ファイルのアプローチにより、ディスク領域のコストはわずかですが、効率的なメモリ使用が保証されます。

以上がファイルサイズを考慮して、Python ファイル内の行を効率的に検索および置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート