1. 程式人生 > >python StringIO中的 read()與 getvalue()

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