python-3.x - 如何修复 - 无法编码对象:28.0,类型:?
问题描述
我正在尝试pillow
在 python3 中使用 JPEG 文件序列化 EXIF 元数据。正在使用my_jpeg_image._getexif()
(也许有更好的方法)提取元数据。
当我尝试序列化*这些数据时,我收到错误
cannot encode object: 28.0, of type: <class 'PIL.TiffImagePlugin.IFDRational'>
为什么TiffImagePlugin
枕头使用一个类来提取JPEG元数据?
如何将 a 转换为IFDRational
可序列化类型,例如float
/int
在这种情况下(和/或一般情况下)?
谢谢!
[*FWIW,进入 mongodb]
解决方案
要将 IFDRational 对象转换为obj
float 类型,您可以执行
number = obj._numerator / obj._denominator
print(type(number))
现在变成了 <class 'float'>
但是,如果分母为 0 ,则可能需要异常处理。
IFDRational详细信息如下:
https://pillow.readthedocs.io/en/stable/_modules/PIL/TiffImagePlugin.html
推荐阅读
- ruby-on-rails - 无法在使用 docker-compose run 的 github 操作捆绑安装的自托管运行器上运行
- reactjs - NextJs 应用程序与 next-i18next TypeError: NextI18Next 不是构造函数
- apache - 我希望所有旧网址都重定向到新域,但 ftp 中的站点地图文件除外。此代码不正确
- reactjs - React Typescript - 错误对象作为 React 子项无效
- php - 如何找到 id 但在路线中显示 slug?
- npm - 使用 NPM 安装 JEST 时命令行抛出错误
- c# - 如何使用具有多种数据类型数组的 Json 对象 C# 创建 Dto
- installshield - InstallShield:安装先决条件后不需要重新启动
- c# - 在按钮上增加文本框值单击WPF C#
- elementor - Elementor 自定义图标未显示