Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

python

linux

bash

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 
like image 469
Tengu Avatar asked Aug 16 '16 15:08

Tengu


1 Answers

Try first to load raw data into a BytesIO container:

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)) 
like image 136
Tiger-222 Avatar answered Oct 01 '22 19:10

Tiger-222