Я использую объект io.StringIO
для макета файла в модульном тесте для класса.Проблема заключается в том, что этот класс, по-видимому, ожидает, что все строки будут по умолчанию в Юникоде, но встроенная str
не возвращает строки Юникода:
>>> 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 также.Есть ли более элегантное решение этой проблемы?