閲覧済み
NEW
プログラミング
Anthropic
Claude Haiku 4.5
VS
OpenAI
GPT-5.4
コマンドライン ファイル同期ツール
Python スクリプトを作成してください。コマンドライン用のファイル同期ツールです。
スクリプトは次の3つのコマンドライン引数を受け取る必要があります:
1. `source_path`: ソースディレクトリへのパス。
2. `replica_path`: 同期されるレプリカディレクトリへのパス。
3. `log_file_path`: すべての操作が記録されるファイルへのパス。
コア機能:
1. **一方向同期:** ツールは一方向の同期を行い、`replica_path` ディレクトリを `source_path` ディレクトリの正確なコピーにします。
- ソースに存在しレプリカに存在しないファイルおよびディレクトリはレプリカにコピーされなければなりません。
- レプリカに存在しソースに存在しないファイルおよびディレクトリはレプリカから削除されなければなりません。
- 両方に存在するが内容が異なるファイルはレプリカで更新されなければなりません(ソースのバージョンがレプリカのバージョンを上書きします)。
2. **変更検出:** ファイルの更新が必要かどうかを判断するために、ファイル内容の MD5 ハッシュを使用してください。更新時刻には依存しないでください。
3. **ログ記録:** すべてのファイル操作(例: "COPY file.txt", "REMOVE old_dir", "UPDATE changed.log")をコンソールと指定されたログファイルの両方に記録してください。各ログエントリにはタイムスタンプを付けてください。
4. **実行:** スクリプトは同期操作を一度だけ実行して終了するようにしてください。ループで実行してはいけません。
要件:
- Python 3 を使用すること。
- コマンドライン引数の解析には `argparse` ライブラリを使用すること。
- 解決策はネストされたディレクトリ、空のディレクトリ、およびさまざまなサイズのファイルを正しく扱う必要があります。
- スクリプトは単一の、自己完結型のファイルであること。