在Python中,如何读取图像的exif数据?

我正在使用PIL。 如何将EXIF数据转换为字典?

尝试这个:

import PIL.Image img = PIL.Image.open('img.jpg') exif_data = img._getexif() 

这应该给你一个由EXIF数字标签索引的字典。 如果您想要由实际EXIF标签名称string索引的字典,请尝试如下所示:

 import PIL.ExifTags exif = { PIL.ExifTags.TAGS[k]: v for k, v in img._getexif().items() if k in PIL.ExifTags.TAGS } 

您也可以使用ExifRead模块:

 import exifread # Open image file for reading (binary mode) f = open(path_name, 'rb') # Return Exif tags tags = exifread.process_file(f) 

我使用这个:

 import os,sys from PIL import Image from PIL.ExifTags import TAGS for (k,v) in Image.open(sys.argv[1])._getexif().iteritems(): print '%s = %s' % (TAGS.get(k), v) 

或得到一个特定的领域:

 def get_field (exif,field) : for (k,v) in exif.iteritems(): if TAGS.get(k) == field: return v exif = image._getexif() print get_field(exif,'ExposureTime')