Python 文件 seek() 方法

Python 文件 seek() 方法

seek() 方法设置文件的当前位置为偏移量。参数 whence 是可选的,默认值为 0,表示绝对文件定位,其他值为 1 表示相对于当前位置定位,2 表示相对于文件结尾定位。

无返回值。注意,如果文件以 ‘a’ 或 ‘a+’ 模式打开进行追加写入,任何 seek() 操作都会在下一次写入时被撤销。

如果文件仅以 ‘a’ 模式打开进行追加写入,此方法实际上是一个空操作,但对于以读取模式打开的追加写入文件(’a+’ 模式)仍然有用。

如果以文本模式打开文件使用 ‘t’,则只有调用 tell() 返回的偏移量是合法的。使用其他偏移量会导致未定义的行为。

注意,并非所有文件对象都可寻位。

语法

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

fileObject.seek(offset[, whence])

参数

  • offset - 这是文件中读/写指针的位置。

  • whence - 这是可选的,默认为0,表示绝对文件定位;其他值为1表示相对于当前位置定位,2表示相对于文件末尾定位。

返回值

此方法不返回任何值。

以下示例演示了seek()方法的用法。

假设’foo.txt’文件包含以下文本 –

This is 1st line
This is 2nd line
This is 3rd line
This is 4th line
This is 5th line

示例

# Open a file
fo = open("foo.txt", "rw+")
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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程