当我们处理本地文件时,我尝试做的事情相当简单,但是当我尝试使用远程 URL 执行此操作时,问题就来了。
基本上,我正在尝试从从 URL 中提取的文件创建 PIL 图像对象。当然,我总是可以只获取 URL 并将其存储在临时文件中,然后将其打开到图像对象中,但这感觉非常低效。
这是我所拥有的:
Image.open(urlopen(url))
它抱怨seek()说不可用,所以我尝试了这个:
seek()
Image.open(urlopen(url).read())
但这也没有用。有没有更好的方法来做到这一点,或者写入临时文件是接受这种事情的方式?
以下适用于 Python 3:
from PIL import Image import requests im = Image.open(requests.get(url, stream=True).raw)
参考: