- from StringIO import StringIO
- # 生成一个StringIO对象,当前缓冲区内容为ABCDEF
- s = StringIO('ABCDEF' )
-
- # 从开头写入,将会覆盖ABC
- s.write('abc')
-
- # 每次使用read()读取前,必须seek()
- # 定位到开头
- s.seek(0)
-
- # 将输出abcDEF
- print s.read()
-
- # 定位到第二个字符c
- s.seek(2)
-
- # 从当前位置一直读取到结束,将输出cDEF
- print s.read()
-
- s.seek(3)
- # 从第三个位置读取两个字符,将输出DE
- print s.read(2)
-
- s.seek(6)
- # 从指定位置写入
s.write('GH')
- s.seek(0)
- # 将输出abcDEFGH
print s.read()
- # 如果读取所有内容,可以直接使用getvalue()
# 将输出abcDEFGH
print s.getvalue()
通过例子,我们看到了StringIO的行为,基本与file一致。StringIO提供了一个方法,可以方便的获取其中的数据:StringIO. getvalue()。如果使用read方法获取其中的数据,必须通过seek先设置"文件指针"的位置。
转载自:http://blog.csdn.net/piaoyidage/article/details/42098911