平时用iphone手机,也用微信,经常从微信保存一些照片,视频到手机里。时间长了照片比较多,分不清是哪天拍摄的,或者保存的,所以平时我喜欢用时间命名照片,视频。
最近和我女朋友分手了,在一起的一些合照需要存档,按照月份分类存储。
本来想通过百度网盘,百度网盘上传后有两个问题,第一:不安全,不想把私人照片存储到网上,第二:百度网盘存储的实况图片会变成livp结尾的文件,虽然说可以解压成一个jpg和一个mov,我不喜欢这样的处理方式。所以放弃了百度网盘。
其次通过iphone手机,将手机的照片导入到mac电脑上的照片里,可以把照片导出到硬盘中,有两种方式,一种是照片,jpg格式,一种是未修复的原片,我本人比较喜欢原片,存储空间小,保留原汁原味,heic格式。导出的文件命名也不规范。所以我在网上找到一个python程序,但是程序有点问题,一不支持视频,特别是按照视频的媒体创建时间命名,另外一个是如果命名冲突,没有处理。所以我把这个程序修改了,完美解决了我的问题,分享给大家。
程序是从网上找的,本人进行了完善,修改,注释等没有修改,保留原作者的。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
批量修改照片文件名称的Python脚本程序。
遍历指定目录(含子目录)的照片文件,根据拍照时间将照片文件名修改为以下格式:
20140315_091230.jpg (%Y%m%d_%H%M%S)
由于文件名已经精确到秒,理论上重名的概率非常小。
如果需要考虑到重名的问题,可以对本程序进行进一步的优化。
!该程序需要安装exifread模块,否则无法使用。
例如,Linux/Mac OS X下命令行安装该模块:sudo pip install exifread
2022年10月12日 wl 修改
'''
import os
import stat
import time
import exifread
import json
from pymediainfo import MediaInfo
from datetime import datetime, timedelta
MY_DATE_FORMAT = '%Y%m%d_%H%M%S'
path = "/Users/xxxx/Documents/test"
SUFFIX_FILTER = ['.jpg', '.mpg', '.mp4', '.thm', '.bmp', '.jpeg', '.avi', '.mov', '.heic', '.png']
DELETE_FILES = ['thumbs.db', 'sample.dat']
PIC_FILTER = ['.jpg', '.bmp', '.jpeg', '.heic', '.png'