Python的seek()函式可以讓開發者移動文件讀/寫指針,讓開發者可以更有效率的處理文件。

seek()函式的基本用法

seek()函式的基本用法是:

file_object.seek(offset, from_what)

其中,offset是指定要移動的字節數,from_what是指定移動的參考點,可以是0(預設值)、1或2。

from_what參數的意義

from_what參數的意義如下:

  • 0(預設值):從文件開頭開始移動,offset正值往後移動,負值往前移動。
  • 1:從當前位置開始移動,offset正值往後移動,負值往前移動。
  • 2:從文件末尾開始移動,offset正值往前移動,負值往後移動。

範例程式碼

以下是一個使用seek()函式的範例程式碼:

# 開啟一個文件
f = open("test.txt", "r+")

str = f.read(10)
print "讀取的字串是 : ", str

# 檢查當前位置
position = f.tell()
print "當前文件位置 : ", position

# 把指針再次重新定位到文件開始
position = f.seek(0, 0)
str = f.read(10)
print "重新讀取字串 : ", str

# 將指針再次定位到文件末尾
position = f.seek(0, 2)
str = f.read(10)
print "重新讀取字串 : ", str

# 關閉打開的文件
f.close()

執行上面的程式碼,將會得到以下的結果:

讀取的字串是 :  This is t
當前文件位置 :  10
重新讀取字串 :  This is t
重新讀取字串 : 

總結

Python的seek()函式可以讓開發者移動文件讀/寫指針,讓開發者可以更有效率的處理文件。seek()函式的基本用法是:file_object.seek(offset, from_what),其中,offset是指定要移動的字節數,from_what是指定移動的參考點,可以是0(預設值)、1或2。

Categorized in:

Tagged in: