写真フォルダ分け自動化アプリVer.2【Photo to Foder】

 

 

 

 

写真フォルダ分けマシンVer2.0

 

どうもNSZ山本です。

写真の整理ってみなさんはどうしてますか?

日付ごとに撮影した写真をフォルダ分けしておくと後で見返して思い出に浸るときに分かりやすくて良いです。

でも写真を管理する事は撮ることよりも労力がかかります。意外とほったらかしのときもあります。

 

手作業でフォルダ名を延々変換するのは面倒ですよね。

【アプリ】写真のフォルダ分けを自動化できるPhoto to Folder

前回の実験によると1200枚の写真を手作業でフォルダ分けする場合15分もかかります。

困難です。人間のやる仕事じゃあありません。

 

撮影日を元に写真を自動でコンピューターがフォルダ分けしてくれたら楽なんだけどな。

自動化しよう。

 

 

Photo to Folder

 

というわけで手作りしました。

 

Photo to Folder Ver2.0(フォトトゥフォルダーバージョントゥ)

略称:P2F / PTF

 

仕組みとしては

メタデータの撮影日付から取得し、それをフォルダネームの日付をにします。

撮影日が撮影時点で狂っているケースを除けば、フォルダ分けの正確さは保証されます。

 

ダウンロード

 

ドロップボックス

 

dist.zipをダウンロードします。

 

200MBくらいあります。(重くてすまない)

解凍しておいてください。

 

 

使い方

 

前提

 

一眼レフの保存フォルダ構成は大体こんな感じのはずです。

 

 

フォルダの階層が図のようになっていることが前提になってます。

子階層OK(A)。自動で処理します。

同一フォルダに違う日付の写真が混在していても自動で分けてくれます。

 

一番上の所(C)に写真があるとわずかに消滅する可能性があるのでやめましょう(例外処理を一応したけど私は責任は負えません)

 

XXXの部分は、メーカーの毎で多少異なりますが以下のようなフォルダ名だと思います。

Cannon

  • 100CANON
  • 101CANON
  • 102CANON

 

PENTAX

  • 101_0101
  • 102_0102
  • 102_0103

 

Nikon

持って無いから分からないけど大体上と同じだと思う

 

……..

使い方

 

先程ダウンロードして解凍したものの中身です。

dist\ptf配下の

ptf.exeを押してください

 

名前を変更するフォルダを選択します。

 

どのフォルダのでもいいので中の写真をクリックして「開く」。

どの写真でも良いんですがとりあえず1枚目にしときます。

 

「開く」をクリック

※ウイルスバスターに攻撃扱いされる場合があります。このアプリを許可するをしてから再度ptf.exeを実行してください。

 

 

10秒以下。

 

デモは5つしかないので手作業でも可能な範囲ですが、

フォルダ数が100や1000や1万の場合だと話が変わってきます。機械なら一瞬でやってくれます。

 

同一フォルダに違う日付が混在していてもOK。ちゃんと分けてくれます。

 

 

ソースコード

 

windows用です。

linuxの場合このままだと使えません。unicode型をstr型に変換する処理が必要だったりします。

 

 

 

参考サイト

 

本当にありがとうございました。

 

Pythonでexif(Jpegの撮影日など)を取得する

【Python】変数の型を調べる | あがノート

要素の取得 – タプル – Python入門

→タプル型ってなんなんだ頭痛

 

Python2のstr/unicodeとencode/decode

Pythonで文字列を置換する:replace(), re.sub()

Python 文字列を切り取る[]

python – How to get absolute path of a pathlib.Path object? – Stack Overflow

→キャストみたいなやつ

 

Pythonで再帰的にファイル・ディレクトリを探して出力する

→感動した

 

WindowsでのPython外部モジュール導入のはまりどころ

→「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」

 

何かインストールが足りない系

pyinstaller error: OSError: Python library not found: libpython3.4mu.so.1.0, libpython3.4m.so.1.0, libpython3.4.so.1.0

Exception: Cannot find PyQt5 plugin directories when using Pyinstaller despite PyQt5 not even being used

これも読んでみませんか