seek()方法的使用
阿新 • • 發佈:2017-10-08
sheng aaa pla () 有時 lose ans adding ati
seek()方法用於移動文件讀取指針到指定位置。
file.seek()方法標準格式是:file.seek(offset,whence)
offset:開始的偏移量,也就是代表需要移動偏移的字節數
whence:給offset參數一個定義,表示要從哪個位置開始偏移;0代表從文件開頭開始算起,1代表從當前位置開始算起,2代表從文件末尾算起。whence值為空沒設置時會默認為0。
例子:
>>> f=open("aaa.txt","w") #以只寫的形式打開一個叫做aaa.txt的文件
>>> f.write("my name is liuxiang,i am come frome china ") #寫入內容
41
>>> f.close() #關閉文件
>>> f=open("aaa.txt","r") #以只讀打開文件
>>> f.read() #讀取內容
‘my name is liuxiang,i am come frome china‘
>>> f.seek(3,0) #“0”代表從文件開頭開始偏移,偏移3個單位
>>> f.read(5) #從偏移之後的指針所指的位置(即“n”)開始讀取5個字符
‘name ‘
>>> f.tell() # 顯示現在指針指在哪個位置(即“i”的位置)
8
>>> f.readline() #讀取這一行剩下的內容
‘is liuxiang,i am come frome china‘
>>> f.seek(0,2) #“2”代表從末尾算起,“0”代表偏移0個單位
41
>>> f.read()
‘‘ #因為是從末尾算起,內容已結束。所以讀取內容為空
有時候seek()函數會報錯 “io.UnsupportedOperation: can‘t do nonzero cur-relative seeks”
這種錯誤的原因和解決方案我寫在了另一篇隨筆裏: 使用seek()方法報錯:“io.UnsupportedOperation: can‘t do nonzero cur-relative seeks”錯誤的原因
http://www.cnblogs.com/xisheng/p/7636736.html
seek()方法的使用