每过一段时间,手机里的照片就要清理一遍,备份到硬盘上,但是时间越久,记忆越模糊,只能大概记得一张照片是在哪里、什么状态下拍的,却很难回忆起来具体的时间,所以想到将照片名字改成拍摄时间,这样就很方便以后查看了。
不是所有图片的 exif 中都包含有时间信息的, 我最早用的手机是小米,后来用的苹果,拍照的图片都是 .JPG 格式,.PNG大多是截图,还有几张 .JPG不知道是什么原因,也拿不到时间,所以要过滤一下。
另外还有同名的 .AEE(小米) .MOV(苹果) 文件 , 要同步修改一下名字。
具体代码如下,exif中除了时间信息,还有手机机型、位置等一系列信息。
import PIL.Image
import PIL.ExifTags
import os
def modify_pic_name():
os.chdir(r'H:\picture_back\1111')
jpg_map = {}
for f in os.listdir():
if not (f.endswith('.JPG')):
continue
img = PIL.Image.open(f)
exif = {
PIL.ExifTags.TAGS[k]: v
for k, v in img._getexif().items()
if k in PIL.ExifTags.TAGS
}
try:
date_time = exif['DateTime']
except: