Я использую объект 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. Есть ли более элегантное решение этой проблемы?