Python でテキスト ファイル内の特定の行を置換するには、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 サイトの他の関連記事を参照してください。