Mac で Python を使って大量の写真をフォルダ分けする方法

Mac で大量の写真を管理するとき、200枚ごとにフォルダを作成して整理したい場合があります。手動でやるのは大変ですが、Python スクリプトを使えば簡単に自動化できます。本記事では、Python を使って写真を整理する方法を紹介します。

📂 目的

指定したディレクトリ内にある写真を 200 枚ずつグループ化し、01, 02, 03 … のような連番のフォルダを作成して整理します。

🛠 必要な環境

  • Mac (macOS)
  • Python 3.x
  • ターミナルの基本操作

📜 Python スクリプト

以下のスクリプトを作成し、実行することで写真をフォルダに整理できます。

1️⃣ スクリプトを作成する

ターミナルで整理したいフォルダに移動し、スクリプトファイルを作成します。

cd /Users/user_name/photos
vi script.py

次に、以下の Python コードを script.py に記述します。

import os
import shutil

# 画像が保存されているディレクトリを指定
source_dir = "/Users/user_name/photos"  # ここを適宜変更

# 画像の拡張子リスト(必要なら拡張可能)
image_extensions = {".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff"}

# 画像ファイルのリストを取得
files = sorted([f for f in os.listdir(source_dir) if os.path.splitext(f)[1].lower() in image_extensions])

# 1フォルダあたりの枚数
files_per_folder = 200

# フォルダ分けと移動処理
for i in range(0, len(files), files_per_folder):
    folder_num = (i // files_per_folder) + 1
    folder_name = f"{folder_num:02d}"  # 01, 02,... のようなフォーマット
    folder_path = os.path.join(source_dir, folder_name)

    # フォルダが存在しない場合は作成
    os.makedirs(folder_path, exist_ok=True)

    # ファイルをフォルダへ移動
    for file in files[i:i + files_per_folder]:
        src_path = os.path.join(source_dir, file)
        dest_path = os.path.join(folder_path, file)
        shutil.move(src_path, dest_path)

    print(f"Moved {len(files[i:i + files_per_folder])} files to {folder_path}")

print("すべての画像を整理しました。")

2️⃣ スクリプトを実行する

保存した script.py を実行して、写真を整理します。

python3 script.py

実行後、以下のように 01, 02, 03 … というフォルダが作成され、写真が 200 枚ずつ移動します。

Moved 200 files to /Users/user_name/photos/01
Moved 200 files to /Users/user_name/photos/02
Moved 200 files to /Users/user_name/photos/03
Moved 200 files to /Users/user_name/photos/04
Moved 96 files to /Users/user_name/photos/05
すべての画像を整理しました。

✅ 確認作業

整理が完了したら、フォルダとファイルの確認を行いましょう。

📂 作成されたフォルダの一覧を確認

ls -l /Users/user_name/photos/

📸 各フォルダ内の画像枚数を確認

ls -l /Users/user_name/photos/01 | wc -l

🔍 元ディレクトリに画像が残っていないか確認

ls -l /Users/user_name/photos/

🎉 まとめ

このスクリプトを使えば、数百枚の写真を自動で整理できます。

  • 指定フォルダ内の画像を取得
  • 200 枚ずつフォルダに振り分け
  • 01, 02, 03 のようなフォルダを作成し、移動

これで大量の写真を整理する作業が一瞬で完了します!

ぜひ活用してみてください! 🚀

コメント

タイトルとURLをコピーしました