replace_recursive プログラム仕様
指定されたディレクトリツリー内のファイルを再帰的に処理し、特定の文字列置換とファイルコピーを行うスクリプト。
このスクリプトは、source_dir で指定されたディレクトリから target_dir へファイルをコピーします。 convert_file_extensions に含まれる拡張子を持つファイルに対しては、 replace_list に基づく正規表現置換を実行します。 exclude_list に含まれるファイルは置換処理をスキップし、そのままコピーされます。
関連リンク: replace_recursive.py の技術ドキュメント
- web.replace_recursive.copy_file(source_file, target_file)[ソース]
ファイルをソースパスからターゲットパスへコピーします。
ターゲットディレクトリが存在しない場合は作成し、 ファイルのメタデータも保持してコピーします。
- web.replace_recursive.detect_encoding(file_path)[ソース]
指定されたファイルのエンコーディングを検出します。
chardetライブラリを使用して、ファイルのバイト列からエンコーディングを推測します。
- web.replace_recursive.main()[ソース]
スクリプトの主要な実行ロジックをカプセル化します。
定義済みの source_dir, target_dir, replace_list, convert_file_extensions を使用して process_directory 関数を呼び出します。
- 戻り値:
なし
- 戻り値の型:
None
- web.replace_recursive.process_directory(source_dir, target_dir, replace_list, file_extensions)[ソース]
ソースディレクトリツリーを走査し、ファイルをターゲットディレクトリにコピーしながら、 指定された拡張子のファイルに対して文字列置換を実行します。
os.walk を使用してディレクトリを再帰的に走査します。 file_extensions に含まれるファイルは replace_strings_in_file で処理され、 exclude_list に含まれるファイルは置換をスキップしてコピーされます。 その他のファイルは単純にコピーされます。
- web.replace_recursive.read_file_with_detected_encoding(file_path)[ソース]
ファイルのエンコーディングを自動検出してファイルを読み込みます。
ファイルが存在しない場合や読み込みに失敗した場合はFalseを返します。
- web.replace_recursive.regex_replace(text, replace_list)[ソース]
テキスト内の指定されたパターンを正規表現に基づいて置換します。
replace_listに含まれる各(パターン, 置換文字列)のペアを使用して、 入力テキストに対して正規表現置換を順番に適用します。