如何获得与str类型一起使用的StringIO?

时间:2013-09-17 09:15:52

标签: python unicode

正如我们所知,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类似对象?

1 个答案:

答案 0 :(得分:1)

six library有一个可能适合您的StringIO类,described as

  

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