我正在尝试使用 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.Metadata() 的参数恰好为零。 GExiv2 在最新版本中是否发生了变化,或者我做错了什么?
Python版本:3.3.2
最佳答案
似乎是一个已知的(而且是最近的)错误:
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')
关于python - 使用Python3 GExiv2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21380202/