Is it normal for python io.BytesIO.getvalue () to return str instead of bytes?


Is it normal for python's io.BytesIO.getvalue() to return str instead of bytes?

 Python 2.7.1 (r271:86832, Jun 13 2011, 14:28:51)
 >>> import io
 >>> a = io.BytesIO()
 >>> a
 <_io.BytesIO object at 0x10f9453b0>
 >>> a.getvalue()
 >>> print type(a.getvalue())
 <type 'str'>

Should I file a bug?

Nope, you shouldn't file a bug. This is normal behaviour. See this answer: the bytes type in python 2.7 and PEP-358

It basicly comes down that the 2.7 bytes is just an alias for str to smoothen the transition to 3.x.