使用Python3 GExiv2

时间:2014-01-27 11:54:24

标签: python python-3.x metadata

我正在尝试使用GExiv2处理我正在编写的应用程序的元数据,但我遇到了问题。根据{{​​3}}的python示例,表达式为:

#example
exiv = GExiv2.Metadata('IMAGE FILE')
#my case
exif = GExiv2.Metadata('/home/kimothy/Temp/vuescan/Scan-140102-0001.jpg')

这会导致以下错误

[kimothy@localhost Medium Format]$ python3 multi/metadata.py
Traceback (most recent call last):
File "multi/metadata.py", line 50, in <module>
exif = GExiv2.Metadata('/home/kimothy/Temp/vuescan/Scan-140102-0001.jpg')
TypeError: GObject.__init__() takes exactly 0 arguments (1 given)

我很困惑的是,错误消息表明GExiv2.Metadata()只接受零参数。 GExiv2在最新版本中有所改变,还是我做错了什么?

Python版本:3.3.2

1 个答案:

答案 0 :(得分:4)

似乎是一个已知的(也是最近的)错误:

https://bugs.launchpad.net/ubuntu/+source/gexiv2/+bug/1277894

正如错误报告中所解释的那样,python 3有一个解决方法,直到修复它的错误:

from gi.repository.GExiv2 import Metadata 

m = Metadata()
m.open_path('my_image.png')