散らかったフォルダを Python で整理する

Python 自動化

ダウンロードフォルダが、画像・PDF・zip がごちゃ混ぜでいつもカオスになります。 手で片付けるのが面倒になってきたので、拡張子ごとにサブフォルダへ振り分ける小さなスクリプトを書きました。

やっていること

フォルダの中のファイルを一つずつ見て、拡張子に対応するフォルダ(無ければ作る)へ移動するだけです。

import shutil
from pathlib import Path

folder = Path.home() / "Downloads"
groups = {
    "画像": [".jpg", ".png", ".gif"],
    "書類": [".pdf", ".docx", ".xlsx"],
    "圧縮": [".zip", ".7z"],
}

for f in folder.iterdir():
    if not f.is_file():
        continue
    for name, exts in groups.items():
        if f.suffix.lower() in exts:
            dest = folder / name
            dest.mkdir(exist_ok=True)
            shutil.move(str(f), str(dest / f.name))

使ってみた感想

完璧な分類ではありませんが、「とりあえず種類ごとにまとまっている」だけで探すのがぐっと楽になりました。 凝りすぎず、8割片付けばいい、くらいの気持ちで作るのがちょうど良かったです。

次は、実行前に「どこへ動くか」を一覧表示してから移動する“プレビュー”を足したいと思っています。