Python入门文件之: seek()和tell()函数

2024-05-09 21:18
文章标签 python seek tell 入门 函数

本文主要是介绍Python入门文件之: seek()和tell()函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

  Python open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。

那么,有没有办法可以自定指定读取的起始位置呢?

实现对文件指针的移动,文件对象提供了 tell() 函数和 seek() 函数。tell() 函数用于判断文件指针当前所处的位置,而 seek() 函数用于移动文件指针到文件的指定位置。

各个参数的含义如下:

  • file:表示文件对象;
  • whence:作为可选参数,用于指定文件指针要放置的位置,该参数的参数值有 3 个选择:0 代表文件头(默认值)、1 代表当前位置、2 代表文件尾。
  • offset:表示相对于 whence 位置文件指针的偏移量,正数表示向后偏移,负数表示向前偏移。例如,当whence == 0 &&offset == 3(即 seek(3,0) ),表示文件指针移动至距离文件开头处 3 个字符的位置;当whence == 1 &&offset == 5(即 seek(5,1) ),表示文件指针向后移动,移动至距离当前位置 5 个字符处。
file.tell()file.seek(offset,[whence])f = open('a.txt', 'rb')print(f.tell())               # 判断文件指针的位置print(f.read(1))              # 读取一个字节,文件指针自动后移1个数据
print(f.tell())f.seek(5)                    # 将文件指针从文件开头,向后移动到 5 个字符的位置
print(f.tell())
print(f.read(1))f.seek(5, 1)                 # 将文件指针从当前位置,向后移动到 5 个字符的位置
print(f.tell())
print(f.read(1))f.seek(-1, 2)               # 将文件指针从文件结尾,向前移动到距离 10 个字符的位置
print(f.tell())
print(f.read(1))

 

 

 

 

 

 

这篇关于Python入门文件之: seek()和tell()函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974528

相关文章

标准I/O相关函数

一、打开一个流 这三个函数的区别是: (1)fopen打开路径名由pathname指示的一个文件 (2)freopen常用于一个打开的流重新定向。比如stdout是标准输出,我们可以把它重定向到由path指定的一个文件。 (3)fdopen取一个现存的文件描述符,并使一个标准的I/O流与该描述符相结合。 总结如下: 二、一步步探究

文件I/O相关函数

一、文件描述符 对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描叙符。当读、写一个文件时,用open或creat返回的文件描述符标识该文件,将其作为参数传送给read或write。 按照惯例,UNIX shell使文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准出

repo使用总结—从入门到入门

文章目录 1 what's repo2 官方文档Repo 命令参考资料help 帮助init 初始化sync 同步所有项目文件upload 提交更改diffdownloadforallprunestart 创建本地分支Example:创建三个分支test-1,test-2,test-3 statusbranchesabandonExample:删除本地分支test-3 后续在使用中遇到问题

STM32 TIM 多通道互补PWM波形输出配置快速入门

platform:stm32f10xxx lib:STM32F10x_StdPeriph_Lib_V3.5.0 前言 在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补的PWM,这样可以驱动六个开关元件,stm32f103中的TIM1高级定时器支持产生三路互补PWM波形,下面进一步学习。 PWM产生的原理 TIM1的OC模块,可以产生PWM波形,具体步骤; 寄存器

STM32 TIM1高级定时器配置快速入门

layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true重点内容时基单元计数模式 重点内容 不管是基于标准库还是直接操作寄存器,因为TIM定时器的功能比较多,这里单纯只从定时器的角度进行学习,这里需要重点关注的地方应该有以下几点: 定时器时钟频率的计算

STM32 时钟树配置快速入门

layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true为什么要了解时钟树?树的根标准库的时钟配置外部时钟源16MSetSysClockTo72patch 其他细节 为什么要了解时钟树? 最近项目开发的时候,外部时钟源是16MHz,结果配置错了系统时钟,

matlab awgn函数加入高斯白噪声

信噪比 信噪比,电子设备或者通信系统中有效信号和噪声的比值,英文名称叫做SNR或S/N(SIGNAL-NOISE RATIO); awgn描述 awgn函数可以将白色高斯噪声添加到信号中。 语法 y = awgn(x,snr) y = awgn(x,snr,sigpower) y = awgn(x,snr,'measured') y = awgn(x,snr,sigpower,st

虚函数和纯虚函数及虚函数表

虚函数为了重载和多态的需要,在基类中是有定义的,即便定义是空,所以子类中可以重写也可以不写基类中的此函数! 纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数! 虚函数 引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。 class Cman { public: virtual void Eat(){…

Zen of Python -Python之禅

在浏览Python官方文档时无意发现了这个彩蛋,只需在终端中import this The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than compli

Pytorch中的损失函数Loss Function

由于Pytorch中使用mini-batch进行计算,因此其损失函数的计算结果会对mini-batch取平均 常见的Pytorch中内置的损失函数有: nn.L1Loss 计算input与output的差的绝对值,input与output应该是同一维度,得到的loss也是相应维度 nn.NLLLoss Negative Log Likelihood class torch.n