from PIL import Image
from subprocess import Popen, PIPE
scr = Image.open(Popen.communicate(Popen(['import','-w','0x02a00001','png:-'], stdout=PIPE))[0])
错误:
File "/usr/lib/python3/dist-packages/PIL/Image.py", line 2258, in open
fp = builtins.open(filename, "rb")
ValueError: embedded null byte
答案 0 :(得分:19)
首先尝试将原始数据加载到BytesIO
容器中:
from io import BytesIO
from PIL import Image
from subprocess import Popen, PIPE
data = Popen.communicate(Popen(['import','-w','0x02a00001','png:-'], stdout=PIPE))[0]
scr = Image.open(BytesIO(data))