不,这不是一个bug。这是正常行为。看到这个答案:python 2.7和PEP-358 中的字节类型
python的io.BytesIO.getvalue()
返回str而不是字节是否正常?
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'>
>>>
我应该提交一个bug吗?
基本上可以归结为2.7 bytes
只是str
的别名,用于平滑到3.x的转换。
bytes
在Python2.X中不是作为一种单独的数据结构存在的,所以是的,这是完全正常的-str
是Python2中的字节串(不像Python3,str
是unicode字符串)。