
はじめに
第16回では「ログ自動保存アプリ」を作って、プログラムの実行記録をファイルに残す仕組みを学んだな。
今回は実用度をさらに高めて、「簡易バックアップツール」 を作ってみるで!
バックアップとは、ファイルをコピーして別の場所に保存しておくことや。
これを自動化するだけで、日々の作業効率や安全性がグッと上がるんや。
完成イメージ
コピー対象ファイル:data.txt
実行すると:
data.txt を backup_data.txt にコピーしました!
フォルダ内にコピーが作成される。
ヒント(使う要素)
shutil.copy()
→ ファイルをコピーする便利関数input()
→ ユーザーにファイル名を聞くtry-except
→ ファイルが存在しない場合のエラー処理
コード全文(基本版)
# Lesson 17: 簡易バックアップツール import shutil src = input("バックアップしたいファイル名を入力してください:") dst = "backup_" + src try: shutil.copy(src, dst) print(f"{src} を {dst} にコピーしました!") except FileNotFoundError: print("エラー:指定したファイルが見つかりません。")
改良版(日付つきバックアップ):同じファイルを何度もバックアップすると上書きされるから、日付つきを作るのもええで。
# Lesson 17: 簡易バックアップツール(改良版) import shutil from datetime import datetime src = input("バックアップしたいファイル名を入力してください:") date = datetime.now().strftime("%Y%m%d_%H%M%S") dst = f"backup_{date}_{src}" try: shutil.copy(src, dst) print(f"{src} を {dst} にコピーしました!") except FileNotFoundError: print("エラー:指定したファイルが見つかりません。")
実行方法
- バックアップしたいファイル(例:
data.txt
)を用意 - コードを
lesson17.py
として保存 - ターミナルで実行:
python lesson17.py
- ファイル名を入力すると、同じフォルダにバックアップが作成される
応用アイデア
- 複数ファイルをまとめてバックアップ
- フォルダごとコピーする(
shutil.copytree()
を利用) - 定期的にバックアップする(スケジューラと組み合わせる)
まとめ
今回は 「簡易バックアップツール」 を作ったで!shutil.copy()
を使えば、たった1行でファイルをコピーできるんや。
日付つきにすれば履歴管理もバッチリやな。
👉 次回は Lesson 18: フォルダ内のファイル一覧表示!
ディレクトリを操作して、ファイルを一覧で出力するツールを作ってみるで。