Python 3 – 文件 seek() 方法

Python 3 – 文件 seek() 方法

说明

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

没有返回值。注意,如果文件是使用a或a+打开的进行附加写入,任何 seek() 操作将在下一次写入时被撤销。

如果文件仅以附加模式使用a打开进行写入,则此方法基本上是无操作,但对于启用读取的附加模式打开的文件(模式a+),它仍然是有用的。

如果使用t打开文本模式的文件,则仅告知() 引起的偏移量是合法的。使用其他偏移量会导致未定义的行为。

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

语法

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

fileObject.seek(offset[, whence])

参数

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

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

返回值

该方法不返回任何值。

示例

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

假设'foo.txt'文件包含以下文本:
这是第一行
这是第二行
这是第三行
这是第四行
这是第五行
#!/usr/bin/python3

# 打开一个文件
fo = open("foo.txt", "r+")
print ("文件名: ", fo.name)

line = fo.readlines()
print ("读取内容: %s" % (line))

#再次将指针设置为开头
fo.seek(0, 0)
line = fo.readline()
print ("读取内容: %s" % (line))

# 关闭打开的文件
fo.close()

结果

当我们运行上面的程序时,它产生以下结果−

文件名:  foo.txt
读取内容: ['这是第一行\n', '这是第二行\n', '这是第三行\n', '这是第四行\n', '这是第五行']
读取内容: 这是第一行

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程