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

 更新时间:2022年11月24日 10:11:53   作者:jiankang66  
这篇文章主要介绍了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) 		#输出当前位置

结果如下。

三、定位到某个位置

如果在读写文件的过程中,需要从指定的位置开始读写操作,就可以使用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)					#输出

结果如下。

幻灯片22

以文本文件格式打开文件时,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的文件指针定位的相关知识,仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】

    Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】

    这篇文章主要介绍了Python实现监控键盘鼠标操作,结合实例形式分析了Python基于pyHook与pythoncom模块的键盘、鼠标事件响应及日志文件操作相关实现技巧,需要的朋友可以参考下
    2018-09-09
  • python使用fork实现守护进程的方法

    python使用fork实现守护进程的方法

    守护进程(Daemon)也称为精灵进程是一种生存期较长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。
    2017-11-11
  • pip 安装库比较慢的解决方法(国内镜像)

    pip 安装库比较慢的解决方法(国内镜像)

    对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题,所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率
    2019-10-10
  • 详解如何使用Pandas删除DataFrame中的非数字类型数据

    详解如何使用Pandas删除DataFrame中的非数字类型数据

    在数据处理和分析过程中,经常会遇到需要清洗数据的情况,本文将详细介绍如何使用Pandas删除DataFrame中的非数字类型数据,感兴趣的小伙伴可以了解下
    2024-03-03
  • Python常用库Numpy进行矩阵运算详解

    Python常用库Numpy进行矩阵运算详解

    这篇文章主要介绍了Python常用库Numpy进行矩阵运算详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Django+Uwsgi+Nginx如何实现生产环境部署

    Django+Uwsgi+Nginx如何实现生产环境部署

    这篇文章主要介绍了Django+Uwsgi+Nginx如何实现生产环境部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • LyScript实现绕过反调试保护的示例详解

    LyScript实现绕过反调试保护的示例详解

    LyScript插件中内置的方法可实现各类反调试以及屏蔽特定API函数的功能,这类功能在应对病毒等恶意程序时非常有效。本文为大家提供了LyScript实现绕过反调试保护的示例代码,感兴趣的可以了解一下
    2022-08-08
  • Python新手实现2048小游戏

    Python新手实现2048小游戏

    本文是一个Python新手编写的热门游戏2048的代码,使用Python3编写,基于控制台,对于Python新手们熟悉Python语法非常有帮助,这里推荐给大家,希望大家能够喜欢。
    2015-03-03
  • Python之Scrapy爬虫框架安装及使用详解

    Python之Scrapy爬虫框架安装及使用详解

    这篇文章主要为大家详细介绍了Python Scrapy爬虫框架安装及简单使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python Web App开发Dockerfiles编写示例

    Python Web App开发Dockerfiles编写示例

    这篇文章主要为大家介绍了Python Web App编写Dockerfiles的示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论