seek()方法的使用


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM