標籤:函數 nes border size get val padding blog trunc
注意:python3中應使用io.StringIO
StringIO經常被用來作為字串的緩衝,應為StringIO有個好處,他的有些介面和檔案操作是一致的,也就是說用同樣的代碼,可以同時當成檔案操作或者StringIO操作。
一、例子
| 12345678910111213141516171819202122 |
import StringIO s = StringIO.StringIO()s.write(‘www.baidu.com\r\n‘)s.write(‘news.realsil.com.cn‘)s.seek(0)print ‘*‘ * 20print s.tell()print s.read() print ‘*‘ * 20print s.tell()print s.read() print ‘*‘ * 20print s.tell()print s.getvalue() print ‘*‘ * 20print s.tell()s.seek(-4,2)print s.read() |
運行結果:
********************
0
www.baidu.com
news.realsil.com.cn
********************
34
********************
34
www.baidu.com
news.realsil.com.cn
********************
34
m.cn
二、StringIO類中的方法:
- read
- readline
- readlines
- write
- writeline
- getvalue
- truncate
- tell
- seek
- close
- isatty
- flush
----------------------
s.read([n])
參數n限定讀取長度,int類型;預設狀態為從當前讀寫位置讀取對象s中儲存的所有資料。讀取結束後,讀寫位置被移動。
----------------------
s.readline([length])
參數length限定讀取的結束位置,int類型,預設狀態為None:從當前讀寫位置讀取至下一個以“\n”為結束符的當前行。讀寫位置被移動。
----------------------
s.readlines([sizehint])
參數sizehint為int類型,預設狀態為讀取所有行並作為列表返回,除此之外從當前讀寫位置讀取至下一個以“\n”為結束符的當前行。讀寫位置被移動。
----------------------
s.write(s)
從讀寫位置將參數s寫入給對象s。參數s為str或unicode類型。讀寫位置被移動。
----------------------
s.writelines(list)
從讀寫位置將list寫入給對象s。參數list為一個列表,列表的成員為str或unicode類型。讀寫位置被移動。
----------------------
s.getvalue()
此函數沒有參數,返回對象s中的所有資料。
----------------------
s.truncate([size])
從讀寫位置起切斷資料,參數size限定裁剪長度,預設值為None。
----------------------
s.tell()
返回當前讀寫位置。
----------------------
s.seek(pos[,mode])
移動當前讀寫位置至pos處,選擇性參數mode為0時將讀寫位置移動至pos處,為1時將讀寫位置從當前位置起向後移動pos個長度,為2時將讀寫位置置於末尾處再向後移動pos個長度;預設為0。
----------------------
s.close()
釋放緩衝區,執行此函數後,資料將被釋放,也不可再進行操作。
----------------------
s.isatty()
此函數總是返回0。不論StringIO對象是否已被close()。
----------------------
s.flush()
重新整理內部緩衝區。
----------------------
轉載:python中的StringIO模組