在Python中操作文件之seek()方法的使用教程

yipeiwu_com6年前Python基础

 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 pointer 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

相关文章

python实现beta分布概率密度函数的方法

python实现beta分布概率密度函数的方法

如下所示: beta分布的最大特点是其多样性, 从下图可以看出, beta分布具有各种形态, 有U形, 类似正态分布的形状, 类似uniform分布的形状等, 正式这一特质使beta...

python清除字符串里非数字字符的方法

本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: import re s = "how19 a*re 254y**ou?" # U...

python读取目录下所有的jpg文件,并显示第一张图片的示例

如下所示: # -*- coding: UTF-8 -*- import numpy as np import os from scipy.misc import imread, i...

给大家整理了19个pythonic的编程习惯(小结)

Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。 要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github...

磁盘垃圾文件清理器python代码实现

磁盘垃圾文件清理器python代码实现

本文假设某些特定类型的文件和大小为0的文件为垃圾文件,可以自由扩展代码的列表,也就是垃圾文件的类型。 from os.path import isdir, join, splitex...