使用枕头访问EXIF数据而无需访问受保护的成员

时间:2018-01-24 16:04:58

标签: python exif pillow pylint

我发现使用pillow访问图像的EXIF元数据的示例使用了PIL.Image的受保护成员_getexif()。 Pylint会抱怨以下警告:

  

[W0212(protected-access),functionname]访问受保护的成员   _getexif的客户端类

有没有办法在不通过受保护的成员的情况下获取图像的EXIF数据?

1 个答案:

答案 0 :(得分:1)

_getexif()被强调,因为他们不想承诺它始终以现在的方式工作 - 代码说"这种方法是高度实验性的,很可能被替换为在未来版本中更好的东西。"虽然,据我所知,它在PIL中说年龄

所以你的选择是:

  • 禁止棉绒警告
  • 使用i.info.get('exif')获取原始(未解析)exif数据并自行解析,可能是从Pillow中删除的代码
  • 使用受支持的exif库,例如ExifRead

编辑:真的"不想承诺它始终以现在的方式工作"稍微低估了它 - _getexif()是图书馆自己(非常有限的)内部使用,并且他们认识到解析在野外发现的真实的 exifs并给出可靠的所有人(即使是奇怪的人)的结果都是比他们愿意报名的更重要的事业。