BytesIOはメモリ上でバイナリデータを扱うための機能
同様な機能としてStringIO, cStringIOがある
import io import urllib.request from PIL import Image url = "https://www.python.org/static/img/python-logo@2x.png" img_in = urllib.request.urlopen(url).read() img_bin = io.BytesIO(img_in) img = Image.open(img_bin) img.save("logo.png","PNG") print(img_bin.getvalue())