简体   繁体   English

Python ValueError:从bash管道读取png文件时嵌入的空字节

[英]Python ValueError: embedded null byte when reading png file from bash pipe

from PIL import Image
from subprocess import Popen, PIPE

scr = Image.open(Popen.communicate(Popen(['import','-w','0x02a00001','png:-'], stdout=PIPE))[0])

Error: 错误:

  File "/usr/lib/python3/dist-packages/PIL/Image.py", line 2258, in open
    fp = builtins.open(filename, "rb")
ValueError: embedded null byte

Try first to load raw data into a BytesIO container: 首先尝试将原始数据加载到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))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM