python StringIO中的 read()与 getvalue()

  • 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

原文地址:https://www.cnblogs.com/gsx-600r/p/10085773.html