2011-01-13 11 views

Odpowiedz

25

To nie to samo. cStringIO nie obsługuje poprawnie znaków Unicode.

>>> StringIO.StringIO().write(u'\u0080') 

>>> cStringIO.StringIO().write(u'\u0080') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128) 
+0

Czy mogę to zmienić? – TIMEX

+0

@ TIMEX: Czy potrzebujesz wsparcia dla znaków Unicode poza ASCII? –

+0

Nie mam pojęcia. Używam StringIO do zdjęć. i odczytywanie zdjęć, a następnie przesyłanie ich do S3 – TIMEX

6

Nie można ustawić atrybuty na przykład cStringIO.StringIO:

>>> from cStringIO import StringIO 
>>> s = StringIO() 
>>> s.name = 'myfile' 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'cStringIO.StringO' object has no attribute 'name' 

Kilka bibliotek zależy od obiektów plikopodobny mają albo atrybut name lub content_type, więc cStringIO.StringIO nie działa w te instancje.

Powiązane problemy