python中的StringIO和cStringIO模块

StringIO——像文件一样读写的模块

这个模块的工作方式和python中的文件操作模块很像,该模块是进行"内存文件"的操作。
StringIO对象可以接受Unicode编码或者8-bit的字符串(比如ASCII),但是两者不能混合使用,否则会导致一个UnicodeError当getvalue()方法被调用时。

  • String.getvalue该方法用来获取"文件"的内容在目标被close()之前
  • String.close()释放内存,即关闭访问的"内存文件"。
例子:
import StringIO
output = StringIO.StringIO()
output.write('First line.\n')
print >>output,'Second line.'
#获取文件内容
contents = output.getvalue()
#关闭文件
output.close()

cStringIO——StringIO的效率更高的版本

这个模块和StringIO的作用一样,但是要注意该模块不适合于是Unicode编码类型的且不能转码为纯ASCII码的字符串。
例子:
import cStringIO
output = cStringIO.StringIO()
output.write('First line.\n')
print >>output,'Second line.'
#获取文件内容
contents = output.getvalue()
#关闭文件
output.close()

你可能感兴趣的:(python)