replace_files.py
複数のテキストファイル内の文字列を一気に置換してしまう Python スクリプトの実装例を紹介します。
ここでは、カレントディレクトリ以下の Markdown ファイル (.md
) 内の時刻情報を書き換えてみます。
置換対象のテキストは、下記のような日付情報を表すテキストです(created:
の部分を date:
に置き換えます)。
- (置換前のテキスト)
created: "2018-01-01"
- (置換後のテキスト)
date: "2018-01-01"
このスクリプトを実行すると、既存のファイル自体を書き換えることに注意してください(実行する前に、必ずバックアップを取ってください)。 置換パターンに一致する行が見つからなかった場合は、そのファイルに対する書き換え処理は行われません(同じ内容を書き戻すような無駄な処理はしません)。
☝️ ワンポイント
上記のサンプルコードでは、パターンに一致する部分のうち、最初に見つかった部分だけを置換します。
パターンに一致する全ての文字列を置換したい場合は、
sub
メソッドの代わりに gsub
メソッドを使用してください。