如何修复 - 无法编码对象:28.0,类型:<class 'PIL.TiffImagePlugin.IFDRational'>?
How to fix - cannot encode object: 28.0, of type: <class 'PIL.TiffImagePlugin.IFDRational'>?
我正在尝试使用 python3 中的 pillow
从 JPEG 文件序列化 EXIF 元数据。正在使用 my_jpeg_image._getexif()
提取元数据(也许有更好的方法)。
当我尝试序列化*这些数据时,收到错误
cannot encode object: 28.0, of type: <class 'PIL.TiffImagePlugin.IFDRational'>
为什么 TiffImagePlugin
class 被 pillow 用于 JPEG 元数据提取?
如何将 IFDRational
转换为可序列化类型,例如float
/int
在这种情况下(and/or 通常)?
谢谢!
[*FWIW,进入 mongodb]
要将 IFDRational 对象 obj
转换为 float 类型,您可以这样做
number = obj._numerator / obj._denominator
print(type(number))
现在变成了<class 'float'>
但是,如果分母为0,可能需要异常处理。
IFD理性详情如下:
https://pillow.readthedocs.io/en/stable/_modules/PIL/TiffImagePlugin.html
我正在尝试使用 python3 中的 pillow
从 JPEG 文件序列化 EXIF 元数据。正在使用 my_jpeg_image._getexif()
提取元数据(也许有更好的方法)。
当我尝试序列化*这些数据时,收到错误
cannot encode object: 28.0, of type: <class 'PIL.TiffImagePlugin.IFDRational'>
为什么 TiffImagePlugin
class 被 pillow 用于 JPEG 元数据提取?
如何将 IFDRational
转换为可序列化类型,例如float
/int
在这种情况下(and/or 通常)?
谢谢!
[*FWIW,进入 mongodb]
要将 IFDRational 对象 obj
转换为 float 类型,您可以这样做
number = obj._numerator / obj._denominator
print(type(number))
现在变成了<class 'float'>
但是,如果分母为0,可能需要异常处理。
IFD理性详情如下:
https://pillow.readthedocs.io/en/stable/_modules/PIL/TiffImagePlugin.html