メモリ内のバイナリファイルオブジェクトを使用しますio.BytesIO
。
from io import BytesIO
imagefile = BytesIO()
animage.save(imagefile, format='PNG')
imagedata = imagefile.getvalue()
これはPython2とPython3の両方で利用できるため、推奨される選択です。
Python 2の場合のみ、メモリ内のファイルオブジェクトモジュールを使用することもできますStringIO
。または、Cでコード化された同等のモジュールを使用することもできcStringIO
ます。
from cStringIO import StringIO
imagefile = StringIO() # writable object
# save to open filehandle, so specifying the expected format is required
animage.save(imagefile, format='PNG')
imagedata = imagefile.getvalue()
StringIO
/cStringIO
は、同じ原則の古いレガシー実装です。