我正在尝试使用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
答案 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')