Use BytesIO instead of StringIO