Python中seek函数的使用方法

  • seek方法简介
    • 参数
    • Example One
    • Example Two
    • Example Three

seek方法简介

  • seek函数能够帮助我们File Handle,即文件处理
  • 在Python中,我们可以将seek()最简单理解为:移动光标或指针
  • 由于不能用鼠标移动光标,我们可以用seek()将光标移动到我们想要的位置,然后对文件进行写入等操作

参数

  • Syntax: f.seek(offset, whence),f指的是file(或$你的文件名)
  • Parameters:
    • offset: 将光标向前移动n个位置
    • whence: 参考位置,一般参数为0,1,2
      • 0 :将开头作为参考位置
      • 1 :将当前作为参考位置
      • 2 :将末尾作为参考位置
        (所谓参考位置(reference point)一开始你想在哪)

Example One

举例,我们对一个含有字符串的文本进行操作

代码解释
首先用字符串命名一个变量
将这个变量用StringIO函数作为文件储存在内存中

# 载入库
from io import StringIO
import numpy as np# 创建字符串
string = 'ABC DEF GHI JKL MN.'# 用StringIO()将我们创建的字符串变得像一个文件
# 这样我们就方便对文件进行操作了
# 或者有的小伙伴直接创建一个.txt文件然后open("xxx.txt", "r")也行
# 我比较懒哈哈哈哈
file = StringIO(string)# 查看一下
print(file.read())# 使用seek(),默认一开始在开头,移动四个位置试试
file.seek(4)# 查看现在所在位置
print(file.tell())# 输出光标后的内容,不意外应出现DEF开始往后的内容
print(file.read())

输出结果:

ABC DEF GHI JKL MN.
4
DEF GHI JKL MN.

Example Two

在上述文件后加入字符串
添加之前先将光标移到开头
运行时连带上面所有的一起从头开始跑

# 添加文字
file.write('--This song sounds good.')# 将光标移到开头
file.seek(0)#最后输出
print('Hello:\n',file.read())

输出结果:

ABC DEF GHI JKL MN.
4
DEF GHI JKL MN.
Hello:ABC DEF GHI JKL MN.--This song sounds good.

Example Three

也可以从末尾开始
但是在StringIO中无法使用seek(负数,2)
我们可以创建一个.txt,记得使用参数b进行操作

# 光标起始位置在末尾,往前移动5个位置
f = open("123.txt", "rb")
print(f.readline())
f.seek(-5, 2)
print(f.tell())
print(f.readline().decode('utf-8'))
f.close()

输出结果:

b'We all here to be a normal one.'
26one.

希望对您有所帮助~
我的学习笔记
欢迎收藏+关注~

Python中seek()函数的使用方法--一文读懂相关推荐

  1. Python中range函数的使用方法

    Python中range函数的使用方法 更新时间:2022年05月30日 11:38:15   作者:Python编程学习圈 这篇文章主要介绍了Python中range函数的使用方法,文章基于Pyth ...

  2. 技术图文:举例详解Python中 split() 函数的使用方法

    背景 这篇文章主要介绍Python中的split()函数的使用方法,split()函数通常用于将字符串切片并转换为列表,需要的朋友可以参考一下. 技术分析 Python中有split()和os.pat ...

  3. python中sum函数的使用方法及实例_sum函数的使用方法及实例

    在我很重要的人.QQ相册上看到的英文. BRO有以下两种意思: 1.BRO是brother的简称,意思是兄弟,哥们.是口语中的简称.类似的还有"sister"姐妹的简称为" ...

  4. Python中range()函数的使用方法

    range()函数可以产生一系列的数字.当需要叠加一些数字时,可以用到range()函数. 1 基本语法 range()函数的基本语法如下所示. range(start, stop) 其中,start ...

  5. python输入什么就输出什么_一文读懂Python的输入和输出

    本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...

  6. java中date类型如何赋值_一文读懂java中的Reference和引用类型

    简介 java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型.java为引用类型专门定义了一个类叫做Reference.Reference是跟jav ...

  7. python中seek函数的用法_在Python中操作文件之seek()方法的使用教程

    seek()方法在偏移设定该文件的当前位置.参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当前位置,2表示相对于文件的末尾. 没有返回值.需要注意的是,如果该文件被 ...

  8. python中if函数的使用方法_(for i in range) (else) (if)使用方法

    条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: [图片上传失败...(image-ef7ddf- ...

  9. python中find函数的使用方法_Python教程-String 字符串使用教程

    Python 语言中的String 在Python中,String代指以下特点: 代表Unicode字符的字节数组 用单引号或双引号引起来 无限长度 Python 中 String 字符串定义方式 $ ...

  10. Python中lambda函数的使用方法

    在进行编程时,一般我们会给一个函数或者变量起一个名字,该名称是用于引用或寻址函数变量.但是有一个低调的函数,你不需要赋予它名字,因此该函数也叫匿名函数.该函数就是Python中的Lambda函数,下面 ...

最新文章

  1. 实现一个简单的WebSocket聊天室
  2. 怎样查看CMD下exe文件的命令行参数输入格式?
  3. HTML5程序开发范例宝典 完整版 (韩旭等著) 中文pdf扫描版
  4. 华为8月9日鸿蒙红包,华为正是宣布,“鸿蒙”系统8月9日上线,来看看有没有你的手机...
  5. 实践GoF的23的设计模式:SOLID原则(下)
  6. Path画直线与弧线
  7. 通俗易懂的Monte Carlo积分方法(二)
  8. CS224N笔记——反向传播
  9. pe安装linux 12.04,乌班图系统Ubuntu 12.04安装教程(图文详解)
  10. color a dir/s_揭发Wuli杨幂的quot;A字裙quot;执念!一款裙也要72变!
  11. Android 屏蔽Menu键
  12. 一文了解IMU原理、误差模型、标定、惯性传感器选型以及IMU产品调研(含IMU、AHRS、VRU和INS区别)
  13. 使用theano进行深度学习实践(一)
  14. 面试 | HR面可能遇到的问题
  15. 河南信息统计学院微信公众平台API汇总
  16. 故障:Office 重复提示激活
  17. VMware的 Mount虚拟光驱问题
  18. OSChina 周三乱弹 ——纪念Bob Taylor
  19. HTML Input标签输入限制
  20. 使用A*算法解迷宫最短路径问题

热门文章

  1. SDUTOJ4384_一方通行与最后之作(18级期末上机考试二)
  2. LuoguP4234_最小差值生成树_LCT
  3. 不忘初心,持之以恒,笔耕不辍,利人利己
  4. vue第三天笔记05——使用vue-cli脚手架工具创建一个项目
  5. 企业微信:上传图片获取永久url --Java
  6. (5)Scrum Master的7种武器之长生剑和孔雀翎
  7. 小米笔记本Ruby默认开启fn键如何解决方法步骤
  8. 数据增强——mixup
  9. java-数组-数组缩减
  10. 计算机word公式平均数,平均值word公式怎么用?