2010-08-06 :-(
_ 朝ッ
0520 起床
_ 仕事
0830 出勤
_ CR2 と JPEG ファイルを異なるディレクトリに配置することにした
( ※ CR2: Canon EOS 系 RAW ファイル )
いままで CR2 と JPEG を同じディレクトリに置いてた。
そうすると PS3 Media Server で画像を見るとき CR2 と JPEG の両方とも区別なく表示してくれちゃうのでいろいろ不都合が無くは無いのだけど面倒くさいのでそのうちやろうと思っててずーっと放置してたんだが、いつの間にか iTunes が iPod touch へ CR2 も転送するようになったので( これまでは CR2 は除外されてた ) 結局 CR2 と JPEG ファイルを別のディレクトリに配置するようにした。16GB iPod touch に CR2 を転送されたらタマッタモノジャナイ。
ということで Python の練習。日付ごとにディレクトリを作ってそこにファイルをコピーしてく。というか EOS Utility などでカメラから計算機へ画像を転送したときのようなディレクトリ構成にしたいだけ。移動じゃなくてコピーなのはまあ削除したければ find などすればいい。
#!/usr/bin/python # -*- coding:utf8 -*- # CR2 をコピーする import sys import os import time import shutil from stat import * prog = sys.argv[0] if len(sys.argv) < 2: print "%s SRCDIR DSTDIR" %(prog) sys.exit() srcrootdir = sys.argv[1] dstrootdir = sys.argv[2] if os.path.exists(srcrootdir) == False: print "%s not found" % (srcrootdir) sys.exit() for root, dirs, files in os.walk(srcrootdir): for file in files: filename = os.path.join(root, file) if filename.lower().find(".cr2") == -1: continue # print filename stat = os.stat(filename) timestamp = time.strftime("%Y/%m/%d", time.localtime(stat[ST_MTIME])) # print timestamp dstdir = os.path.join(dstrootdir, timestamp) # print dstdir if os.path.isdir(dstdir) == False: os.makedirs(dstdir) print "copy %s to %s" % (file, dstdir) shutil.copy2(filename, dstdir)