正如我们所知,str
当涉及到 Python 语言的 2.x 版和 3.x 版时,该类型具有不同的含义。不幸的是,许多框架和 API 都希望与它一起工作,而忽略了含义和行为的变化。示例是logging
框架和WSGI
API。当 alogging.StreamHandler
写入流时,它会写入str
, notbytes
和 not unicode
。
非选项:
StringIO.StringIO
: 在 Python 3.x 中不可用io.BytesIO
: 当 Python 3.x 向其写入str
(即 unicode)时失败io.StringIO
: 当 Python 2.x 向其写入str
(iebytes
)时失败
那么我如何获得一个可以使用的StringIO
类似对象str
呢?