使用python读取图片的EXIF
方法
- 使用
PIL.Image
读取图片的EXIF。 - 使用https://pypi.python.org/pypi/ExifRead 读取图片的EXIF,得到EXIF标签(dict类型)。
代码
把a图片的EXIF复制到b图片。
from PIL import Image image1_path = '1.jpg' image2_path = '2.jpg' im = Image.open(image1_path) exif = im.info['exif'] im = Image.open(image2_path) im.save(image2_path, exif=exif)
如可以使用EXIF中图片原来的时间(DateTimeOriginal)对图片重命名:
import os import exifread def getExif(filename): FIELD = 'EXIF DateTimeOriginal' fd = open(filename, 'rb') tags = exifread.process_file(fd) fd.close() print('=== ', filename) if FIELD in tags: new_name = str(tags[FIELD]).replace(':', '').replace(' ', '_') + os.path.splitext(filename)[1] tot = 1 while os.path.exists(new_name): new_name = str(tags[FIELD]).replace(':', '').replace(' ', '_') + '_' + str(tot) + os.path.splitext(filename)[1] tot += 1 print(new_name) os.rename(filename, new_name) else: print('No {} found'.format(FIELD)) for filename in os.listdir('.'): if os.path.isfile(filename): getExif(filename)