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)					#输出

结果如下。

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

(0)

相关推荐

  • Python获取文件所在目录和文件名的方法

    实例如下: import os if __name__ == "__main__": file_path = 'D:/test/test.apk' parent_path = os.path.dirname(file_path) print('parent_path = %s' % parent_path) file_name = os.path.split(file_path)[-1] print('file_name = %s' % file_name) 输出: 以上就是小编为大家

  • python3获取当前目录的实现方法

    1. 以前的方法 如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数. 如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得.实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path. 具体来说,如果你在C:\test目录下执行python getpath\ge

  • 使用Python获取当前工作目录和执行命令的位置

    获取当前工作目录 import sys print(sys.path[0]) 获取执行命令的位置 import os print(os.getcwd()) 补充知识:Python获取当前执行文件,根据某一级目录名称,获取此目录名称所在的绝对路径 假如当前文件绝对路径:E:\learn\python\我的file\my.py #coding:utf-8 import os #dirName:上级目录名称 #sysCoding:系统编码格式 #targetCoding:转换目标编码格式 def ge

  • Python如何获取文件指定行的内容

    linecache, 可以用它方便地获取某一文件某一行的内容.而且它也被 traceback 模块用来获取相关源码信息来展示. 用法很简单: >>> import linecache >>> linecache.getline('/etc/passwd', 4) 'sys:x:3:3:sys:/dev:/bin/sh\n' linecache.getline 第一参数是文件名,第二个参数是行编号.如果文件名不能直接找到的话,会从 sys.path 里找. 如果请求的行数

  • Python如何获取文件路径/目录

    一.获取文件路径实现 1.1 获取当前文件路径 import os current_file_path = __file__ print(f"current_file_path: {current_file_path}") __file__变量其实有个问题,当文件被是被调用文件时__file__总是文件的绝对路径:但当文件是直接被执行的文件时,__file__并不总是文件的绝对路径,而是你执行该文件时给python传的路径.比如你是python xxx/yyy.py形式执行的,那么此时

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

    目录 一.背景 二.获取当前读写位置 三.定位到某个位置 四.总结 一.背景 Python 是一门易于学习.功能强大的编程语言.它提供了高效的高级数据结构,还能简单有效地面向对象编程. Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言. 下面我们来介绍一下python的文件指针定位相关知识. 二.获取当前读写位置 在读写文件的过程中,如果想知道当前文件位置指针的位置,可以通过调用tell()方法来获取. tell()方法返回文件的当前位置,

  • python基础之文件的备份以及定位

    目录 小型文件备份 备份大型文件 总结 小型文件备份 # 文件的备份 def copyFile(): # 接收用户输入的文件名 old_file=input('请输入要备份的文件名:') file_list=old_file.split('.') # 构造新的文件名.加上备份的后缀 new_file=file_list[0]+'_备份.'+file_list[1] old_f=open(old_file,'r') #打开需要备份的文件 new_f=open(new_file,'w') #以写的模

  • python如何获取列表中每个元素的下标位置

    Git是编程中的基本技能之一,互联网公司几乎都在使用Git进行协作编程,昨天还有位禅友在微信上专门告诉我说星期五面试的时候刚好被问到 Git,幸好在这几天学了一下.Git并不难,但会Git至少可以说明一个人的学习能力或者说对技术的嗅觉能跟上主流,如果面试问你GitHub是什么都不知道,面试官就会对你打一个大的问号. 简单点评这一道题. 在使用 for 循环迭代一个列表时,有时我们需要获取列表中每个元素所在的下标位置是多少,例如 numbers = [10, 29, 30, 41],要求输出 (0

  • python 如何获取元素在array中的下标

    用numpy创建一个array列表 使用numpy的where方法寻找该数组下的某个值 返回数据是对应的下标 该下标被包裹在一个tuple和一个list中.我们可以用a[0][0]轻松取出来: 补充:python如何获取列表中每个元素的下标位置 第一种方法 for i in range(len(numbers)): print('({0}, {1})'.format(i, numbers[i])) 第二种方法 使用enumerate函数 numbers = [10, 29, 30, 41] fo

  • python实现获取当前设备的地点位置

    目录 一.环境介绍 1.搜索“高德地图API”,进入官网,注册自己账号 2.进入控制台,创建相关应用 3.进入web服务API界面 二.代码 一.环境介绍 Python版本 : Python3.8开发工具 : Pycharm 21第三方库 : requests 还会用到的是 Python 自带的 json 库.因为调用 API 返回的结果是 JSON 或者 XML 形式的报文,目前,除少数传统公司使用XML传输信息,大多数互联网公司会使用json库传输信息. 1. 搜索 “高德地图API” ,进

  • 利用Python实现获取照片位置信息

    目录 引言 一.exifread函数库 安装exrfread库(PyCharm) 什么是exifread函数库 二.获取女朋友发来的照片(单身勿扰) 三.具体代码实现 四.经纬度转换 引言 通过一张照片居然发现女友在宿舍里没去上课!强大的照片位置信息获取,快来一起学习吧! 一.exifread函数库 要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的.直接 pip install exifread 来安装就好了. 安装exrfread库(PyChar

  • Python获取文件ssdeep值的方法

    本文实例讲述了Python获取文件ssdeep值的方法,分享给大家供大家参考.具体方法如下: 首先,得到ssdeep值,需要先import ssdeep 在ubuntu上安装pyssdeep时 一直出错  后来发现apt-cache search "ssdeep"时把几个全apt-get install 上,但问题依旧. 后来下载到pyssdeep的源文件 ,tar zxvf pyssdeep.tar.zip 然后 apt-get install python-dev 然后 pytho

  • python获取文件扩展名的方法

    本文实例讲述了python获取文件扩展名的方法.分享给大家供大家参考.具体实现方法如下: import os.path def file_extension(path): return os.path.splitext(path)[1] print file_extension('C:\py\wxPython.gif') 输出结果为: .gif 希望本文所述对大家的Python程序设计有所帮助.

随机推荐