Python Imaging Libraryで縦長・横長の写真を振り分け
いまどきのモニターやカメラはワイド!
横長に構えて撮った写真はモニターを横長にして見たいし、縦長に構えて撮った写真はモニターを縦長にして見たい。
Windowsのエクスプローラーは写真の縦長・横長を振り分けてくれない(と思う)。
手作業はいや。
furiwake.py
#coding: cp932 import glob import os import shutil from PIL import Image def furiwake(abspath): src_list = glob.glob(os.path.join(abspath, "*.jpg")) tatenaga = os.path.join(abspath, "tatenaga") yokonaga = os.path.join(abspath, "yokonaga") if not os.path.exists(tatenaga): os.mkdir(tatenaga) if not os.path.exists(yokonaga): os.mkdir(yokonaga) for src in src_list: im = Image.open(src) yoko, tate = im.size del im if yoko == tate: continue if yoko < tate: dst = os.path.join(tatenaga, os.path.basename(src)) if not os.path.exists(dst): shutil.move(src, dst) if yoko > tate: dst = os.path.join(yokonaga, os.path.basename(src)) if not os.path.exists(dst): shutil.move(src, dst)
PILが関わるのはこれだけ。簡単!
from PIL import Image im = Image.open(src) yoko, tate = im.size del im
使い方
import furiwake furiwake.furiwake("振り分けたい写真たちがあるフォルダの絶対パス")
Python Imaging Library
http://www.pythonware.com/library/pil/handbook/index.htm