文章目录
1、获取当前读写的位置
在读写文件的过程中,如果想知道当前的位置,可以使用tell()
来获取。
2、定位到某个位置
如果想要读取部分内容,可以先使用文件对象的seek()
方法将文件的指针移动到新的位置,然后再应用read(size)
方法读取。seek()方法
的基本语法格式如下:
file.seek(offset[,whence])
参数说明:
file
:表示已经打开的文件对象。offset
:用于指定移动的字符个数,其具体位置与whence
参数有关。whence
:用于指定从什么位置开始计算。值为0
表示从文件头开始计算,值为1
表示从当前位置开始计算,值为2
表示从文件尾开始计算,默认为0
。
注意:对于whence
参数,如果在打开文件时,没有使用b
模式(即rb
),那么只允许从文件头开始计算相对位置,从文件尾计算时就会抛出异常。
说明:在使用seek()
方法时,如果采用GBK
编码,那么offset
的值是按一个汉字(包括中文标点符号)占两个字符计算,而采用UTF-8
编码,则一个汉字占3
个字符,不过无论采用何种编码英文和数字都是按一个字符计算的。这与read(size)
方法不同。