StringIO库使用说明
stevezhou 2015.04.02
StringIO
主要用于在内存缓冲区中读写数据,只有一个StringIO类;
import StringIO
s=StringIO.StringIO()
s.write('I am coming')
s.read()
输出:
''
s.seek(2) #移动当前位置到2,有三种模式0、1、2
s.read()
输出:
‘am coming'
s.tell() #返回当前位置
输出:
11
s.getvalue() #返回s中全部内容
输出:
'I am coming'
StringIO方法说明
read([n]) | 参数n限定读取长度,int类型;缺省状态为从当前读写位置读取对象s中存储的所有数据。读取结束后,读写位置被移动。 |
readline([length]) | 参数length限定读取的结束位置,int类型,缺省状态为None:从当前读写位置读取至下一个以“\n”为结束符的当前行。读写位置被移动。 |
readlines([sizehint]) | 参数sizehint为int类型,缺省状态为读取所有行并作为列表返回,除此之外从当前读写位置读取至下一个以“\n”为结束符的当前行。读写位置被移动。 |
write(content) | 从读写位置将参数content写入给StringIO对象。参数content为str或unicode类型。读写位置被移动。 |
getvalue() | 此函数没有参数,返回对象s中的所有数据。 |
truncate([size]) | 从读写位置起切断其后数据,参数size限定裁剪长度,缺省值为None。 |
tell() | 返回当前读写位置 |
seek(pos[,mode]) | 移动当前读写位置至pos处,可选参数mode为0时将读写位置移动至pos处,为1时将读写位置从当前位置起向后移动pos个长度,为2时将读写位置置于末尾处再向后移动pos个长度;默认为0。 |
close() | 释放缓冲区,执行此函数后,数据将被释放,也不可再进行操作。 |
isatty() | 此函数总是返回0。不论StringIO对象是否已被close()。 |
flush() | 刷新内部缓冲区。 |