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

564次阅读  |  发布于5年以前

seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当前位置,2表示相对于文件的末尾。

没有返回值。需要注意的是,如果该文件被打开或者使用'a'或'A+'追加,任何seek()操作将在下次写撤消。

如果该文件只打开使用"a"的追加模式写,这种方法本质上是一个空操作,但读使能(模式'a+'),它仍然在追加模式打开的文件非常有用。

如果该文件在文本模式下使用"t",只有tell()返回的偏移开都是合法的。使用其他偏移会导致不确定的行为。

请注意,并非所有的文件对象都是可搜索。
语法

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


    fileObject.seek(offset[, whence])

参数

返回值

此方法不返回任何值。
例子

下面的例子显示了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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8