TIM*_*MEX 17 c python stringio
我这样做了:
import cStringIO.StringIO as StringIO
Run Code Online (Sandbox Code Playgroud)
我意识到我到处都在使用它.那很好吗?它与StringIO一样对待吗?
Mar*_*ers 25
他们不一样.cStringIO没有正确处理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)
Run Code Online (Sandbox Code Playgroud)
你也不能在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'
Run Code Online (Sandbox Code Playgroud)
有几个库依赖于具有a name或content_type属性的类文件对象,因此cStringIO.StringIO在这些实例中不起作用.