python模块之StringIO/cStringIO(内存文件)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块之StringIO/cStringIO(内存文件)相关的知识,希望对你有一定的参考价值。
1. StringIO/cStringIO是什么
这个模块提供了一个类,这个类的实例就像是一个文件一样可以读写,实际上读写的是一个字符串缓存,也可以称之为内存文件。
StringIO和文件对象拥有共同的父类IOBase,因此方法基本上都是一致的,StringIO就可以看做是一个内存文件。
想了一下,StringIO可能就相当于Java中的StringBuffer或者StringBuilder之类的吧...它是否也可以当做一个写文件缓存,当我要写很多零碎的内容的时候我先把内容都写到StringIO中,当写StringIO完了我再读出来写入到磁盘中,这不就能实现缓存写了吗O(∩_∩)O哈哈~
在py2.x中cStringIO是c语言版本的StringIO,它的性能要稍微好一些,但是py3.x已经没有cStringIO了。
2. 如何使用
StringIO的使用与普通的文件对象差不多,下面是一个简单的例子:
#! /usr/bin/python from io import StringIO if __name__ == ‘__main__‘: f = StringIO() f.write(‘first\n‘) f.write(‘second\n‘) f_content = f.getvalue() print(f_content)
输出:
first second
参考资料:
1. https://docs.python.org/2/library/stringio.html
以上是关于python模块之StringIO/cStringIO(内存文件)的主要内容,如果未能解决你的问题,请参考以下文章