1

画像の EXIF を印刷しようとしています。これは私のコードです:

with Image(filename="/home/hapoofesgeli/Desktop/b.jpg") as image:
    for k, v in image.metadata.items():
        if k.startswith('exif:'):
            print(k, v)

しかし、それはエラーを出します:

Traceback (most recent call last):
  File "/home/hapoofesgeli/Programming/Test/Test.py", line 5, in <module>
    for k, v in image.metadata.items():
  File "/usr/lib/python3.3/collections/abc.py", line 480, in __iter__
    yield (key, self._mapping[key])
  File "/usr/lib/python3.3/site-packages/wand/image.py", line 2260, in __getitem__
    raise TypeError('k must be a string, not ' + repr(format))
TypeError: k must be a string, not <built-in function format>

このエラーを解決するにはどうすればよいですか?

4

1 に答える 1

0

_getexif()PIL の Image モジュールにバンドルされているメソッドを使用する必要があります。

>>> image = Image.open(os.getcwd() + '/canon-ixus.jpg')
>>> image._getexif()
{36864: '0210', 37121: '\x01\x02\x03\x00', .... }

またはまたimage.info['exif']

>>> image.info['exif'][0:20]
'Exif\x00\x00II*\x00\x08\x00\x00\x00\t\x00\x0f\x01\x02\x00'
于 2013-06-26T14:40:44.907 に答える