ホームページ > バックエンド開発 > Python チュートリアル > Python を使用してテキスト ファイル内の行を効率的に置換するにはどうすればよいですか?

Python を使用してテキスト ファイル内の行を効率的に置換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-20 09:00:18
オリジナル
715 人が閲覧しました

How Can I Efficiently Replace Lines in a Text File Using Python?

テキスト ファイル内の行を効率的に置換する

Python でテキスト ファイル内の特定の行を置換するには、fileinput モジュールの使用を検討してください。この方法では、ファイル全体をメモリにロードする必要がなくなり、大きなファイルの場合に効率的になります。

fileinput を使用する

import fileinput

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

このコードでは、元のファイルの名前がバックアップに変更され、標準の出力はループ内の元のファイルに書き込まれるようにリダイレクトされます。ループ内の print ステートメントは、ファイルの内容を直接変更します。

明示的なファイル操作

読みやすさを考慮して、次の明示的なオプションを考慮してください。

オプション 1 (小さいファイルの場合) ):

with open("test.txt", "r") as f:
    lines = f.readlines()

with open("test.txt", "w") as f:
    for line in lines:
        if "foo" in line:
            f.write(line.replace("foo", "bar"))
        else:
            f.write(line)
ログイン後にコピー

オプション 2 (大きなファイルの場合):

import tempfile

with open("test.txt") as original, tempfile.NamedTemporaryFile(delete=False) as temp:
    for line in original:
        if "foo" in line:
            temp.write(line.replace("foo", "bar").encode())
        else:
            temp.write(line.encode())

temp.flush()
os.replace(temp.name, "test.txt")
ログイン後にコピー

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

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