正如我们所知,str
类型在Python语言的2.x版和3.x版中具有不同的含义。不幸的是,许多框架和API希望与它一起工作,而不管意义和行为的变化。示例包括logging
框架和WSGI
API。当logging.StreamHandler
写入流时,它会写str
,而不是bytes
,而不是unicode
。
非选择:
StringIO.StringIO
:在Python 3.x中不可用io.BytesIO
:当Python 3.x向其写入str
(即unicode)时失败io.StringIO
:当Python 2.x将str
(即bytes
)写入其中时失败那么如何获得与StringIO
一起使用的str
类似对象?
答案 0 :(得分:1)
six
library有一个可能适合您的StringIO类,described as:
Python 2中的StringIO.StringIO和Python 3中的io.StringIO的别名。