Pythonとシェルスクリプトで、画像フォルダ名の末尾に撮影年を付加するものをつくった

カメラの画像フォルダ名は連番で付加されますが、同じメーカーのカメラを複数使っていると、そのうち衝突してしまう恐れがあります。そこで、画像フォルダ名の末尾に撮影年を付加することにしました。たとえば、906MSDCF_2016のようにです。


#/usr/bin/env python3
from PIL import Image
from datetime import datetime
imgname = input();
img = Image.open(imgname)
#DateTimeOriginal のExif tag ID
taken_datetime_exif = img._getexif()[0x9003]
taken_datetime = datetime.strptime(taken_datetime_exif, '%Y:%m:%d %H:%M:%S')
print(taken_datetime.strftime('%Y'), end='')

view raw

exif_year.py

hosted with ❤ by GitHub


#!/bin/bash
cat renamedirs.txt | while read DIRN
do
FILENAME=`ls -1 $DIRN | sed -n '1p'`
YEAR=`echo ${DIRN}/${FILENAME} | python3 photodir_year.py`
echo "renaming ${DIRN}"
mv $DIRN ${DIRN}_${YEAR}
done

view raw

renamedirs.sh

hosted with ❤ by GitHub

ls -1

の結果のうち反映させたいディレクトリをrenamedirs.txtに入れて、実行すると動きます。うまく動かなかったものについては手で修正する前提なので、例外処理などはしていません。

カテゴリー: コンピュータ, Python パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中