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(内存文件)的主要内容,如果未能解决你的问题,请参考以下文章

Python 之 模块初识

python基础之模块之os模块

python基础之模块之os模块

PYTHON之模块

python 基础之 模块

Python模块之目录