seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当前位置,2表示相对于文件的末尾。
没有返回值。需要注意的是,如果该文件被打开或者使用'a'或'A+'追加,任何seek()操作将在下次写撤消。
如果该文件只打开使用“a”的追加模式写,这种方法本质上是一个空操作,但读使能(模式'a+'),它仍然在追加模式打开的文件非常有用。
如果该文件在文本模式下使用“t”,只有tell()返回的偏移开都是合法的。使用其他偏移会导致不确定的行为。
请注意,并非所有的文件对象都是可搜索。
语法
以下是seek()方法的语法:
1
|
fileObject.seek(offset[, whence]) |
参数
- offset -- 这是在文件中,读/写指针的位置。
- whence -- 这是可选的,默认为0,这意味着绝对的文件定位,其它的值是1,这意味着寻求相对于当前位置,2表示相对于文件的末尾。
返回值
此方法不返回任何值。
例子
下面的例子显示了seek()方法的使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/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 pointer to the beginning fo.seek( 0 , 0 ) line = fo.readline() print "Read Line: %s" % (line) # Close opend file fo.close() |
当我们运行上面的程序,它会产生以下结果:
1
2
3
4
|
Name of the file : foo.txt Read Line: This is 1st line Read Line: This |