我正在使用一个io.StringIO
对象来模拟一个类的单元测试中的文件。问题是这个类似乎默认所有字符串都是 unicode,但内置str
不返回 unicode 字符串:
>>> buffer = io.StringIO()
>>> buffer.write(str((1, 2)))
TypeError: can't write str to text stream
但
>>> buffer.write(str((1, 2)) + u"")
6
作品。我认为这是因为与 unicode 字符串的连接也使结果 unicode。这个问题有更优雅的解决方案吗?