网络编程
位置:首页>> 网络编程>> Python编程>> python如何获取文件当前位置和定位某个位置

python如何获取文件当前位置和定位某个位置

作者:jiankang66  发布时间:2022-01-10 17:40:36 

标签:python,文件当前位置,定位,位置

一、背景

Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。

Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。

下面我们来介绍一下python的文件指针定位相关知识。

二、获取当前读写位置

在读写文件的过程中,如果想知道当前文件位置指针的位置,可以通过调用tell()方法来获取。

tell()方法返回文件的当前位置,即文件位置指针当前位置。

其语法格式如下:

  • 文件对象名.tell()

例:

使用tell()方法获取文件当前的读写位置。

with open('testfile.txt','r') as file:#以只读方式打开名为“testfile.txt”的文件
   line = file.read(8)#读取前8个字节
   print(line)#输出前8个字节
   p = file.tell()#获取指针当前位置
   print('当前位置:',p)#输出当前位置
   line = file.read(4)#继续读取4个字节
   print(line)#输出读取到的数据
   p = file.tell()#获取指针当前位置
   print('当前位置:',p) #输出当前位置

结果如下。

python如何获取文件当前位置和定位某个位置

三、定位到某个位置

如果在读写文件的过程中,需要从指定的位置开始读写操作,就可以使用seek()方法实现。

seek()方法用于移动文件位置指针到指定位置

其语法格式如下:

  • 文件对象名.seek(offset[,whence])

例:

创建名为“seek.txt“的文件,输入“This is a test!”并存放进文件中,读取单词“test”并输出到终端。

filename = input('请输入新建的文件名:')#输入文件名
with open(filename,'w+') as file:#新建文件并以读写方式打开
   file.write('This is a test!')#将字符串输入到文件
   file.seek(10)#指针移到从头开始的第10个字符处
   con = file.read(4)#读取4个字符给con
   print(con)#输出

结果如下。

python如何获取文件当前位置和定位某个位置

以文本文件格式打开文件时,seek()方法中的whence参数取值只能是0,即只允许从文件开始位置计算偏移量。

若想从当前位置或文件末尾位置计算偏移量,需要使用“b”模式(二进制格式)打开文件。

例:

读取“seek.txt”文件中倒数第2个字符。

with open('seek.txt','rb') as file:#新建文件并以读写方式打开
   file.seek(-2,2)#将文件位置指针定位到倒数第2个字符处
   con = file.read(1)#读取1个字符给con
   print(con)#输出

结果如下。

python如何获取文件当前位置和定位某个位置

四、总结

来源:https://blog.csdn.net/jiankang66/article/details/126002418

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com