我正在尝试使用GEXIV2来处理我正在编写的应用程序的元数据,但是我遇到了一些问题。根据GExiv2's home page处的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.Meta()确实是零参数,这让我感到困惑。GEXIV2是否在最新版本中更改过,或者是我做错了什么吗?
Python版本:3.3.2

最佳答案

似乎是一个已知的(而且是最近的)错误:
https://bugs.launchpad.net/ubuntu/+source/gexiv2/+bug/1277894
正如bug报告中所解释的,python 3有一个解决方法,直到bug被修复:

from gi.repository.GExiv2 import Metadata

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

关于python - 使用Python3 GExiv2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21380202/

10-11 16:52