Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用GExiv2读取相机品牌和型号_Python_Introspection_Pygobject - Fatal编程技术网

如何在Python中使用GExiv2读取相机品牌和型号

如何在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

我对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.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']
获取例如相机型号。