我完全是Python的新手,正在尝试弄清楚如何从URL读取图像。
这是我的当前代码:
from PIL import Image
import urllib.request, io
URL = 'http://www.w3schools.com/css/trolltunga.jpg'
with urllib.request.urlopen(URL) as url:
s = url.read()
Image.open(s)
我收到以下错误:
C:\python>python image.py
Traceback (most recent call last):
File "image.py", line 8, in <module>
Image.open(s)
File "C:\Anaconda3\lib\site-packages\PIL\Image.py", line 2272, in open
fp = builtins.open(filename, "rb")
ValueError: embedded null byte
我不知道这些都是什么意思。我做错了什么吗?
open()
期望文件名,而不是数据 - 因此您必须先将图像写入本地,然后再打开它 -Image.open('temp.jpg')
。或者使用io.BytesIO
在内存中创建文件对象。 - furas