python - 使用 Pillow 访问 EXIF 数据,而无需访问 protected 成员

标签 python exif python-imaging-library pylint

我找到的使用 pillow 的示例要访问图像的 EXIF 元数据,请使用 PIL.Image 的 protected 成员 _getexif()。 Pylint 会对此进行提示,并发出以下警告:

[W0212(protected-access), functionname] Access to a protected member _getexif of a client class

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

最佳答案

_getexif() 带有下划线,因为他们不想 promise 它始终按照现在的方式工作 - 代码表示“此方法是高度实验性的,并且可能会被替换为 future 版本中会有更好的东西。”不过,据我所知,据说在 PIL 中已经有很长时间了。

所以你的选择是:

  • 抑制 lint 警告
  • 使用 i.info.get('exif') 获取原始(未解析的)exif 数据并自行解析,可能使用从 Pillow 中提取的代码
  • 使用受支持的 exif 库,例如 ExifRead

编辑:真的“不想 promise 它总是像现在这样工作”有点低估了它 - _getexif() 适用于图书馆自己(非常有限)的内部使用,并且他们认识到解析在野外发现的真实 exif,并为所有人(甚至是奇怪的)提供可靠的结果是比他们愿意的更重要的任务注册。

关于python - 使用 Pillow 访问 EXIF 数据,而无需访问 protected 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48426771/

相关文章:

python - aldryn_bootstrap3 : Field defines a relation with model '...' , 未安装或抽象的错误

python - 使用 PIL 和 numpy 进行慢速 python 图像处理

python - 在python脚本中释放内存

python - Discord 机器人帮助命令

android - 从图库中选择时,使用 exif 旋转图像,尽管方向为 0

android - 使用 Android Camera API,快照照片的方向始终未定义

python - 使用 PIL 拆分 .TIF 文件

python - 扩展图像 (PIL/Pillow)

python - 如何根据包含的文本值将 pandas 数据框列拆分为多列

iphone - [exifData tagValue :] 返回 Nil 指针