我们知道,使用open()函数打开文件并读取文件中的内容时,总是会从文件的第一个字符开始读起。那么,有没有办法可以自定指定读取的起始位置呢?答案是肯定,这就需要移动文件指针的位置。而实现对文件指针的移动的操作就要借助今天要学习的函数seek()和tell()了,下面看看具体的用法。
一、文件指针
当我们想要对文件的内容进行获取时,不想每次都是从文件最开始的字符开始获取,这个时候就要使用到指针,改变指针的位置,去读取文件中指定位置的数据,当我们对文件中写入数据时,如果位置不是在文件的末尾,那么写入位置上的数据不会自动的往后移动,而新写入的数据会将当前位置的数据直接覆盖。如果想要改变指针的位置,就要使用到下面两种函数。
二、Tell()函数
tell函数操作的方式非常的任意,其语法结构也简单,具体的语法格式如下:
file.tell()
语法中的file表示的是一个文件对象。在这个函数中没有任何的函数,举个例子,假设我们现在要在程序中要对hh.txt文件进行操作,其中文件的内容为:
Hello python!
想要读取文件的内容时,使用的方法如下:
f = open("a.txt",'r') print(f.tell()) print(f.read(5)) print(f.tell())
运行结果:
0 Hello 5
通过运行结果可以知道,当我们第一次使用open()函数对文件读取的时候,它默认的指针起始的位置是0,正好表示的就是文件的开头位置,当使用read()函数从文件中读取5个字符之后,文件指针同时向后移动了5个字符的位置。这就刚好可以说明了,在一个程序中使用文件对象读取文件的时候,文件的指针会自动的移动位置,读取多少个就往后移多少个。
三、seek()函数
在文件指针的移动中,如果想要让一个文件指针移到我们想要的位置上的时候,就可以使用这个函数,该函数的具体语法格式如下:
file.seek(offset[, whence])
在语法中file还是表示的是一个文件对象,在函数中包含了两个参数,其中第一个参数whence它是一个可选参数,主要是指定文件指针要存放的位置,参数中包含了三个值默认为0,表示的是文件头部的位置,数字1表示的是文件当前所在的位置, 2就是文件的末尾。第二个参数是文件指针的偏移量,使用正数表示向后偏移,负数表示向前偏移。
关于Python seek()和tell()函数是什么?Python seek()和tell()函数的用法详解的文章就分享到合理了,希望大家仔细的阅读这篇文章,能带来更多的收获。