cStringIO类似于StringIO(用法参见Python:StringIO模块),其优势在于cStringIO是由C语言写成,运行速度较StringIO快。如果需要大量使用StringIO,就可以考虑使用cStringIO替代。

使用cStringIO时有几点需要非常注意:

  1. cStringIO.StringIO([s])是工厂函数,不能自行对其进行扩展。
  2. 不能使用不能被转码为ASCII的Unicode编码格式的字符串。
  3. 带字符串参数创建的内存文件,如:
import cStringIO 
s='abcd'
a=cStringIO.StringIO(s)

a为只读文件,没有write()函数。
若不带参数,则同时有read()函数和write()函数。