Python 3 - 文件 seek() 方法
-
描述
方法seek()将文件的当前位置设置为偏移量。whence 参数是可选的,默认为 0,表示绝对文件定位,其他值为 1,表示相对于当前位置查找,2 表示相对于文件末尾查找。没有返回值。请注意,如果打开文件以使用“a”或“a+”进行追加,则任何 seek() 操作都将在下次写入时撤消。如果文件只是为了使用 'a' 在追加模式下写入而打开,则此方法本质上是一个无操作,但它对于在启用读取的追加模式下打开的文件(模式 'a+')仍然有用。如果使用“t”以文本模式打开文件,则只有 tell() 返回的偏移量是合法的。使用其他偏移量会导致未定义的行为。请注意,并非所有文件对象都是可搜索的。 -
句法
以下是语法seek()方法 -fileObject.seek(offset[, whence])
-
参数
-
offset− 这是文件中读/写指针的位置。
-
whence− 这是可选的,默认为 0,表示绝对文件定位,其他值为 1,表示相对于当前位置查找,2 表示相对于文件末尾查找。
-
-
返回值
此方法不返回任何值。 -
例子
以下示例显示了 seek() 方法的用法。Assuming that 'foo.txt' file contains following text: This is 1st line This is 2nd line This is 3rd line This is 4th line This is 5th line
#!/usr/bin/python3 # Open a file fo = open("foo.txt", "r+") print ("Name of the file: ", fo.name) line = fo.readlines() 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 opened file fo.close()
-
结果
当我们运行上面的程序时,它会产生以下结果 -Name of the file: foo.txt Read Line: ['This is 1st line\n', 'This is 2nd line\n', 'This is 3rd line\n', 'This is 4th line\n', 'This is 5th line'] Read Line: This is 1st line