from PIL import Image import shutil import os from pillow_heif import register_heif_opener register_heif_opener() for file in os.listdir(): if not (file.endswith("JPG") or file.endswith("HEIC")): continue im = Image.open(file) date = im.getexif().get(306) if date is None: print(f"no exif for {file}") continue dir = date[:7].replace(":", "-") os.makedirs(dir, exist_ok=True) shutil.move(file, f"{dir}/{file}")