如何在Python中使用GExiv2读取相机品牌和型号
我对GExiv2或GObject内省完全陌生,但我设法找到了如何读取图像日期的方法:如何在Python中使用GExiv2读取相机品牌和型号,python,introspection,pygobject,Python,Introspection,Pygobject,我对GExiv2或GObject内省完全陌生,但我设法找到了如何读取图像日期的方法: from gi.repository import GExiv2 def get_exif_data(filename='DSCN3025.JPG'): exif = GExiv2.Metadata(filename) print exif['Exif.Photo.DateTimeOriginal'] 下一步,我想要相机的品牌和型号,但是 print exif['Exif.Photo.Mak
from gi.repository import GExiv2
def get_exif_data(filename='DSCN3025.JPG'):
exif = GExiv2.Metadata(filename)
print exif['Exif.Photo.DateTimeOriginal']
下一步,我想要相机的品牌和型号,但是
print exif['Exif.Photo.Make']
给我“KeyError:'Exif.Photo.Make:未知标记”
这里非常感谢您的帮助,或者有人可以指出用于理解GObject元数据模型的文档。如何获取可用标记的列表?要扩展注释中发布的内容,函数将返回元数据中标记的列表。因此,您可以这样做,例如:
exif = GExiv2.Metadata(testfile)
if 'Exif.Photo.Make' in exif.get_tags():
print exif['Exif.Photo.Make']
如果它是一个dictionary(-like)对象,exif.keys()
应该为您提供其中的键列表。有关Python元数据API的源代码,请参阅<代码>获取标签()看起来很有趣;-)谢谢,exif.keys()
将不起作用,但您可以使用print exif.get_tags()
检查可用的标记,并使用exif['exif.Image.model']
获取例如相机型号。