上一講我們掌握了read, readline, readlines這三個函數的用法,還需要注意的是:在調用read()等函數讀取文件內容時,文件指針是一直在變化的,默認文件指針是從文件頭開始。想知道當前文件指針的位置在哪裏?就需要用到tell()函數
如下圖所示:
注意,在使用readlines()函數後,是無法使用tell()的。報錯如下
OSError: telling position disabled by next() call
seek(offset [,from])方法改變當前文件的位置。offset變量表示要移動的字節數。from變量指定開始移動字節的參考位置。如果from被設爲0,這意味着將文件的開頭作爲移動字節的參考位置。如果設爲1,則使用當前的位置作爲參考位置。如果它被設爲2,那麼該文件的末尾將作爲參考位置。
from不寫時,默認將文件的開頭作爲移動字節的參考位置。seek函數的官方註釋如下所示
在使用seek函數時需要注意:from設置爲1或2時,必須以二級制方式打開文件,如果以默認方式打開,from設置爲1/2會報錯
UnsupportedOperation: can't do nonzero cur-relative seeks
如下所示
通過上面的學習,你掌握了沒有?
更多內容,請關注我的微信公衆號:EE漫談