python3 文件讀寫操作中的文件指針seek()使用


python中可以使用seek()移動文件指針到指定位置,然后讀/寫。通常配合 r+ 、w+、a+ 模式,在此三種模式下,seek指針移動只能從頭開始移動,即seek(x,0) 。

模式 默認 寫方式 與seek()配合---寫 與seek()配合---讀
r+ 文件指針在文件頭部,即seek(0) 覆蓋
f = open('test.txt','r+',encoding='utf-8')

f.seek(3,0)
f.write('aaa') #移動文件指針到指定位置,再寫
f = open('test.txt','r+',encoding='utf-8')

f.seek(3,0)
f.read() #移動文件指針到指定位置,讀取后面的內容
w+ 文件指針在文件頭部,即seek(0) 清除    f = open('test.txt','w+',encoding='utf-8')

f.seek(3,0)
f.write('aaa') #清除文件內容,移動文件指針到指定位置,再寫
   f = open('test.txt','w+',encoding='utf-8')

f.write('aaa')

f.seek(3,0)

f.read()#清除文件內容寫入,移動文件指針到指定位置,讀取后面內容
a+ 文件指針在文件尾部,即seek(0,2) 追加

   f = open('test.txt','a+',encoding='utf-8')

   f.seek(3,0)

   f.write('aaa') #直接在文件末尾寫入,seek移動指針不起作用

 同 r+

(1)seek(offset[,whence]):

(2)offset--偏移量,可以是負值,代表從后向前移動;

(3)whence--偏移相對位置,分別有:os.SEEK_SET(相對文件起始位置,也可用“0”表示);os.SEEK_CUR(相對文件當前位置,也可用“1”表示);os.SEEK_END(相對文件結尾位置,也可用“2”表示)。 

 seek(x,0):表示指針從開頭位置移動到x位置

 seek(x,1):表示指針從當前位置向后移動x個位置

 seek(-x,2):表示指針從文件結尾向前移動x個位置

例:file.seek(-1,2),文件指針從文件末尾向前移動一個字符,配合read相關方法/函數可讀取該字符。

  


免責聲明!

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



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