Sto utilizzando un oggetto io.StringIO
per simulare un file in un test di unità per una classe. Il problema è che questa classe sembra si aspettano che tutte le stringhe da Unicode per impostazione predefinita, ma la funzione interna str
non restituisce stringhe Unicode:Problemi Unicode durante l'utilizzo di io.StringIO per simulare un file
>>> buffer = io.StringIO()
>>> buffer.write(str((1, 2)))
TypeError: can't write str to text stream
Ma
>>> buffer.write(str((1, 2)) + u"")
6
opere. Presumo questo perché la concatenazione con una stringa unicode rende anche il risultato unicode. C'è una soluzione più elegante a questo problema?