位置:首頁 > 腳本語言 > Python教學 > Python file.seek()方法

Python file.seek()方法

seek()方法在偏移設定該文件的當前位置。參數是可選的,默認為0,這意味著絕對的文件定位,它的值如果是1,這意味著尋求相對於當前位置,2表示相對於文件的末尾。

冇有返回值。需要注意的是,如果該文件被打開或者使用'a'或'A+'追加,任何seek()操作將在下次寫撤消。

如果該文件隻打開使用“a”的追加模式寫,這種方法本質上是一個空操作,但讀使能(模式'a+'),它仍然在追加模式打開的文件非常有用。

如果該文件在文本模式下使用“t”,隻有tell()返回的偏移開都是合法的。使用其他偏移會導致不確定的行為。

請注意,並非所有的文件對象都是可搜索。

語法

以下是seek()方法的語法:

fileObject.seek(offset[, whence])

參數

  • offset -- 這是在文件中,讀/寫指針的位置。

  • whence -- 這是可選的,默認為0,這意味著絕對的文件定位,其它的值是1,這意味著尋求相對於當前位置,2表示相對於文件的末尾。

返回值

此方法不返回任何值。

例子

下麵的例子顯示了seek()方法的使用。

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "rw+")
print "Name of the file: ", fo.name

# Assuming file has following 5 lines
# This is 1st line
# This is 2nd line
# This is 3rd line
# This is 4th line
# This is 5th line

line = fo.readline()
print "Read Line: %s" % (line)

# Again set the yiibaier to the beginning
fo.seek(0, 0)
line = fo.readline()
print "Read Line: %s" % (line)

# Close opend file
fo.close()

當我們運行上麵的程序,它會產生以下結果:

Name of the file:  foo.txt
Read Line: This is 1st line

Read Line: This is 1st line