- 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