小编典典

如何从Python中的URL读取图像数据?

python

当我们处理本地文件时,我想做的事情很简单,但是当我尝试使用远程URL时,问题就来了。

基本上,我试图从URL提取的文件中创建一个PIL图像对象。当然,我总是可以只获取URL并将其存储在临时文件中,然后将其打开到图像对象中,但这感觉效率很低。

这是我所拥有的:

Image.open(urlopen(url))

它抱怨seek()说不可用,所以我尝试了这个:

Image.open(urlopen(url).read())

但这也不起作用。有没有更好的方法可以执行此操作,还是可以将这种方式写入临时文件?


阅读 232

收藏
2020-12-20

共1个答案

小编典典

在Python3中,StringIO和cStringIO模块不见了。

在Python3中,您应该使用:

from PIL import Image
import requests
from io import BytesIO

response = requests.get(url)
img = Image.open(BytesIO(response.content))
2020-12-20