我是 Python 的一个完整的初学者,并且想通过实践开始学习它。也就是说,我很想纠正我拥有的一大堆家庭照片中的一些 EXIF 信息。首先,我想正确地从 JPEG 文件中获取这些信息。
其中一些有一个用 EXIF 写的标题。它可以通过例如获得
import pyexiv2
metadata = pyexiv2.ImageMetadata(filename)
metadata.read()
title = metadata['Exif.Image.XPTitle']
我已经到了这一步。现在问题来了。一些标题包含西里尔字母。如果我这样做,print title.human_value
我会得到例如
`Милой Мамуле от Майи, 11 ÑÐ½Ð²Ð°Ñ€Ñ 1944.`
而与print title
,它是
<Exif.Image.XPTitle [Byte] = 28 4 56 4 59 4 62 4 57 4 32 0 28 4 48 4 60 4 67 4 59 4 53 4 32 0 62 4 66 4 32 0 28 4 48 4 57 4 56 4 44 0 32 0 49 0 49 0 32 0 79 4 61 4 50 4 48 4 64 4 79 4 32 0 49 0 57 0 52 0 52 0 46 0 0 0>
我希望看到的实际字符串是
Милой Мамуле от Майи, 11 января 1944.
这似乎是一个 unicode 问题,但是在尝试了在这里和其他地方找到的十几种不同的方法之后,我无法应对它。是否可以在控制台中看到俄语字母?我在 Windows 7(英文)上使用 python(xy),所以我的 IDE 是 spyder2。只是默认安装,我在其中添加了 pyexiv2。蒂亚!