python - libwebp 显然已成功安装,但“无法识别位于 0x0000018986F14B80> 的图像文件 <_io.BytesIO 对象”
问题描述
我花了将近 20 个小时来研究这个问题,但一无所获,所以我真的很感谢任何人和每个人的帮助。
我正在下载 webp 图像以转换为 JPG。这是我的代码,下面评论中的其他人测试并有效:
webp_format = requests.get("https://http2.mlstatic.com/D_NQ_NP_711864-MLB46594538199_072021-O.webp")
buffer = BytesIO(webp_format.content)
image = Image.open(buffer)
image.convert('RGB')
image.save(buffer, 'jpeg')
image.save('C:\\Users\\Ze\\Documents\\Dropshipping\\Scraping\\Competitor product lists\\Selected\\test.jpg')
buffer.seek(0)
buffer.truncate()
file = {'file' : ('name', buffer, 'image/jpg')}
return file
我认为有问题的步骤是 Image.open。它说:
“UnidentifiedImageError:无法识别图像文件 <_io.BytesIO 对象位于 0x0000018986F44040>”
奇怪的是 print (features.check_module('webp'))说False但python -m PIL说“WEBP 支持正常,加载 1.2.0”、“WEBP 透明度支持正常”、“WEBP 动画支持正常”等等它也说 WEBP”。此外,曾经有一条小消息以及上述错误表明未安装 webp 支持,但在我重新安装了 libwebp 和 PIL 并且 check_module 仍然显示为 False 后,它现在消失了。
什么可能导致这个问题,更重要的是,我该如何解决它?
解决方案
推荐阅读
- python - 如何从文件夹中随机选择多个图像并将它们分层为 Python 中的单个图像?
- python - 如何修复更改值 def 以便当我按下它的按钮时,我的所有其他按钮都不会被清除?
- c# - 我可以将 kotlin android 应用程序连接到 .net5 REST API
- javascript - 将 (N) 添加到 MongoDB 中的重复文件名
- javascript - 通过从canvas中获取lx、rx、ty的图像坐标
- javascript - 如何按年分组?(已经工作的月份和日期)
- php - 在 PHP 数组中查找元素,并使用数字分组
- pandas - 我需要格式化两个数据帧之间的连接结果,其中另一个数据帧对该索引键具有多个有效值
- gnu-parallel - 将输入文件中的字符串参数和命令字符串与 GNU 并行组合
- javascript - 我能够从任何类型的前端应用程序调用 firebase 云功能是否正常?