Python を使用してテキスト ファイルの行を置き換えたい。基本的に、私はファイルをループしています。置換が必要な関連行が見つかったら、ファイル内の同じ位置で置換したいと考えています。
完全に新しいファイルを作成せずにPythonでこれを行うことはできますか?
fileinput
これにはモジュールを使用するのが好きです。バックアップ ファイルを作成するオプションがあり、アクセス許可を保持します。
import fileinput
import sys
for line in fileinput.input([filename], inplace=True):
if condition:
sys.stdout.write(newline)
else:
sys.stdout.write(line)
これにより、新しい(一時)ファイルが作成され、そのファイルの名前がfilename
に変更されるため、変更が適切に表示されます。