我能用和StringIO一样的cStringIO吗?

2024-04-20 15:41:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我做到了:

import cStringIO.StringIO as StringIO

我意识到我一直在到处使用它。可以吗? 它和斯金吉奥的待遇一样吗?


Tags: importas意识stringiocstringio待遇
2条回答

也不能在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'

一些库依赖于具有namecontent_type属性的类文件对象,因此cStringIO.StringIO在这些实例中不起作用。

他们不一样。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)

相关问题 更多 >