批量根據(jù)exif信息自動重命名照片是一款采用Python開發(fā)的小工具,能夠根據(jù)Exif的拍攝時間和設備名批量重命名照片,重命名之后的格式采用日期+設備+型號!
開發(fā)介紹
朋友有大量的照片,因為某些原因文件名和實際拍攝時間不一致,而實際拍攝時間存在exif中,所以我想了一下,可以通過讀取照片中exif中的拍攝時間來重命名照片。這工具是三個月前寫的吧,在朋友后續(xù)的試用建議下,加上了三種重命名方式:
第一種:優(yōu)先判斷exif信息是否存在,存在則用exif時間重命名
第二種:exif信息不存在,則進行判斷文件名是否包含有時間信息,例如564-201206091615.jpg ,此情況就通過正則提取,重命名為2012-06-09-16-15.jpg
第三種:如果前兩種都不滿足,則通過讀取照片文件在電腦中的創(chuàng)建時間來重命名。
很遺憾,上面說的是原版本,沒有窗口,純命令行,有一些小問題,懶得修復了,也就不放出來了,免得因bug,弄壞大家電腦(代碼里有一行是當文件名存在有 . 符號,就替換為- 號),因為沒加判斷,自己的電腦c盤很多帶.號的文件路徑全換成-了,導致軟件失效。 猜測是在調(diào)試時選擇照片路徑,取消了選擇,系統(tǒng)默認返回C盤根目錄,導致遍歷,把C盤的文件夾的 . 號全換成 -號了。此版本就不放出來了,諒解一下,也不修復了。
所以今天抽空重新弄了一個有窗口的,但只有第一種重命名方式,即exif方式,懶得加其它2種重命名方式了,調(diào)調(diào)試試再修修用戶使用時可能因誤操作會出現(xiàn)的bug,搞得寫了快三小時,怪自己學藝不精咯。
功能介紹
第一:選擇照片所在的目錄,子目錄會自動遍歷出照片的絕對路徑并顯示到列表框。
第二:點擊開始重命名,然后耐心等待即可,為了省時間,重命名成功的提示沒有寫出到黑窗口,只輸出因拍攝時間同樣(即那種1秒拍了十幾張照片的,exif中的時間信息一模一樣)而導致重命名失敗的提示,此時,會自動加上后綴數(shù)字1到50,循環(huán)50次重命名,當某次重命名成功,會跳出循環(huán),繼續(xù)下一個照片重命名(之所以循環(huán)50次,就是防止有些用戶用設備1秒拍出了50張照片)。
第三:實際使用發(fā)現(xiàn),有些照片的格式不支持讀取exif信息,忘記哪些了,jpg和dng支持,其它自測。