一、cStringIO简介
cStringIO的行为与open对象非常相似,但它不会在磁盘上生成文件,而是在内存中开辟一个空间来存储文件,此模块主要用于在内存缓冲区中读写数据。模块中只有一个StringIO类,所以它的可用方法都在类中,此类中的大部分函数都与对open的操作方法类似。
二、cStringIO使用
1.使用步骤
- 创建句柄。
- 向缓存中写入数据。
- 从缓存中读取数据。
- 关闭句柄。
import cStringIO
#创建句柄
buf = cStringIO.StringIO()
#写入数据
buf.write('leontest')
#读取数据
print buf.getvalue()
#关闭句柄
buf.close()
2.cStringIO方法分解
2.1 cStringIO.StringIO()
buf = cStringIO.StringIO()方法相当于在内存中开辟了一个内存空间,并返回一个指向该空间的对象buf(指针),通过该buf对象可以实现向该内存空间写入数据、读取数据、以及相关的操作。
2.2 buf.read([n])
从当前读写位置读取对象buf中存储的n个字节的数据,读写完成后,读写位置被移动。若是不指定n,则读取当前位置向后的所有数据。
#代码:zpp.py
import cStringIO
buf = cStringIO.StringIO()
buf.write('leontest')
buf.write('zpp') #写完之后当前位置为末尾
buf.seek(0) #将当前位置移动到起始位置
print buf.read(8) #读取8个字节,