python的tell和seek_python文件对象的seek和tell
打開一個文件,讀取內容,是很常見的操作。不過有的時候我們還需要反復讀取文件中的內容,如果多次打開文件讀取再多次關閉,顯然不是特別好的操作,我們可以借助python文件對象的seek和tell函數,來實現反復的讀取文件內容,最后再關閉文件。
文件對象的tell函數
先說tell函數,這個簡單,就是告訴我們當前文件讀取指針處于文件的什么位置。tell函數返回的位置,以byte計數:
>>> f = open('1.txt')
>>> f.tell()
0
>>> f.read(1)
'#'
>>> f.tell()
1
>>> f.read(24)
' GTR2SP2L A0A2 table\n# g'
>>> f.tell()
25
打開文件后,tell返回的位置是0;讀取一個字符,tell就返回1。因此,python文件對象的tell函數,返回的位置就是已經去讀的最后一個byte,下次再read,就是從這個位置往后開始算。
文件對象的seek函數
seek函數是用來重新定位讀取文件的指針位置。
>>> f.close()
>>> f = open('1.txt')
>>> f.read(48)
'# GTR2SP2L A0A2 table\n# generating time: 17:00:0'
>>> f.tell()
48
>>> f.seek(0)
0
>>> f.read(48)
'# GTR2SP2L A0A2 table\n# generating time: 17:00:0'
以上代碼,中間那個f.seek(0),將讀取文件的指針,重新定位到最開始的位置,因此兩次f.read(48),得到的內容是一樣的。
seek含有一個參數,用來確定參考位置,默認是0,表示從文件頭開始的絕對位置,1表示以當前位置為參考,2表示從文件末尾開始。不過這個參數,我自己在測試的時候,始終有問題,因此就不詳細介紹了。
-- EOF --
總結
以上是生活随笔為你收集整理的python的tell和seek_python文件对象的seek和tell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新海诚没有参与制作的作品_新海诚作品不出
- 下一篇: 如何制作python代码_如何使用50行