0

正如我们所知,str当涉及到 Python 语言的 2.x 版和 3.x 版时,该类型具有不同的含义。不幸的是,许多框架和 API 都希望与它一起工作,而忽略了含义和行为的变化。示例是logging框架和WSGIAPI。当 alogging.StreamHandler写入流时,它会写入str, notbytes和 not unicode

非选项:

  • StringIO.StringIO: 在 Python 3.x 中不可用
  • io.BytesIO: 当 Python 3.x 向其写入str(即 unicode)时失败
  • io.StringIO: 当 Python 2.x 向其写入str (ie bytes)时失败

那么我如何获得一个可以使用的StringIO类似对象str呢?

4

1 回答 1

1

six有一个可能对您有用的 StringIO 类,描述为

Python 2 中 StringIO.StringIO 和 Python 3 中 io.StringIO 的别名。

于 2013-09-17T09:25:10.740 回答