请在这里原谅我的困惑,但是我已经阅读了有关python中seek()函数的文档(必须使用它之后),尽管它对我有所帮助,但我对它的实际含义还是有些困惑,但任何解释都很多 谢谢,谢谢。

关于seek(),不必担心太多。

首先,对打开的文件进行操作时非常有用。

重要的是要注意其语法如下:

1fp.seek(offset, from_what)

其中fp是您正在使用的文件指针; offset表示您将移动多少个位置; from_what定义您的参考点:

0:表示您的参考点是文件的开头

1:表示参考点是当前文件位置

2:表示您的参考点是文件的结尾

如果省略,from_what默认为0。

永远不要忘记,在管理文件时,该文件中总会存在您当前正在处理的位置。刚打开时,该位置是文件的开头,但是当您使用它时,可能会前进。

当您需要沿着打开的文件沿着walk前进时,seek对您很有用,就像您要进入的路径一样。

+1用于解释第二个参数,尽管我想补充一点,您可能应该使用常量os.SEEK_SET,os.SEEK_CUR和os.SEEK_END代替魔术数字0,1和2, 分别。

查找位置是文件内容中的字节索引,类似于数组索引。 同样有趣的是,如果我们以追加模式a打开文件,则无法搜索以文件开头的文件。

实际上,在追加模式下,我们可以搜索以fp.seek(0,0)开头的文件,但是一旦您尝试写入该文件,seek将再次重置为文件末尾,内容将在末尾写入 。

当您打开文件时,系统指向文件的开头。您所做的任何读取或写入都将从一开始就发生。 seek()操作将该指针移动到文件的其他部分,以便您可以在该位置进行读取或写入。

因此,如果要读取整个文件但跳过前20个字节,请打开文件,将seek(20)移至要开始读取的位置,然后继续读取文件。

或者说您想每10个字节读取一次,您可以编写一个循环,执行一次seek(9,1)(相对于当前位置向前移动9个字节),读取一个字节,然后重复。

-1:此答案无法解释第二个参数,实际上,用措辞来说,听起来像第二个参数指示要读取多少个字节。

seek函数期望以字节为单位的偏移量。

Ascii文件示例:

因此,如果您的文本文件包含以下内容:

simple.txt

1abc

您可以跳过1个字节来跳过第一个字符,如下所示:

1

2

3

4fp = open('simple.txt', 'r')

fp.seek(1)

print fp.readline()

>>> bc

二进制文件示例收集宽度:

1

2

3

4fp = open('afile.png', 'rb')

fp.seek(16)

print 'width: {0}'.format(struct.unpack('>i', fp.read(4))[0])

print 'height: ', struct.unpack('>i', fp.read(4))[0]

Note: Once you call read you are changing the position of the

read-head, which act's like seek.

python seek_关于python:seek()函数?相关推荐

  1. python seek_Python 文件操作seek()函数

    函数语法 seek(offset, whence=0, /) 函数说明 Change the stream position to the given byte offset.The offset i ...

  2. python中读取文件过程中seek()函数的使用

    python中读取文件过程中seek()函数的使用 目录 概述: 语法: 参数: 返回值: 实例: 概述: seek() 方法用于移动文件读取指针到指定位置. 语法: seek() 方法语法如下: 文 ...

  3. 【Python基础】Python初学者必须吃透这69个内置函数!

    所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如print,enumerate.format等.Python内置的这些函数非常精巧且强大的,对初学者来说,经常会忽略,但是偶尔会碰 ...

  4. python基础学习1-内置函数

    #!/usr/bin/env python # -*- coding:utf-8 -*- 系统内置函数n =abs(-1) #绝对值 print(n)#bytes()函数 s="离开&quo ...

  5. seek是python文件操作方法吗,seek引发的python文件读写的问题

    我的需求很简单,就是统计一下我的安装脚本执行的次数和时间,格式是这样的 install_times:1|install_times:2018-09-03 15:58:46 install_times: ...

  6. python中map()函数使用,数据类型转换

    python中map()函数进行数据转换 用法: map(function, iterable, -), 返回的是map型,(ps:python2中返回的是list型可以直接显示,但在python3中 ...

  7. Python培训:Python有哪些函数?你了解几种?

    本期小编要为大家带来的Python教程就是关于Python函数这方面的,我们都知道Python函数,一般是指组织好的.可重复使用的.用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一 ...

  8. 简单介绍python的input,print,eval函数

    这篇文章主要为大家概述了python的input,print,eval函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助 input()函数 input()函数可以通过控制台 ...

  9. 教你如何运用python实现简单文件读写函数

    这篇文章主要为大家详细介绍了python实现简单文件读写函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 python作为脚本性语言,加上它的简便易用性.会经常当作脚 ...

  10. python绘制条形图用什么函数_Python绘制正余弦函数图像完整代码

    通过python绘制正弦和余弦函数,从默认的设置开始,一步一步地调整改进,让它变得好看,变成我们初高中学习过的图象那样.通过这个过程来学习如何进行对图表的一些元素的进行调整. 01. 简单绘图 mat ...

最新文章

  1. python基本使用-python-类的基本使用
  2. 【Groovy】IntelliJ IDEA 中创建 Gradle 工程 ( Gradle 工程目录文件分析 )
  3. java抽象类与接口区别6_java基础知识(6)---抽象类与接口
  4. bash shell基础之三字符串测试及for循环
  5. Linux Bond 技术学习资料
  6. C# 枚举(Enum)
  7. qq java版与wp版区别_手机QQ 2.7 (WP版)更新,同时支持WP7和WP8
  8. org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection avalable
  9. r语言aggredate_R语言 分组计算,不止group_by
  10. hbase1.2.4安装
  11. java包资源_Java获取jar包以外资源的方法
  12. 在ubuntu下怎么安装和使用Github
  13. CentOS7安装dnf报错:No package dnf available
  14. linux罗技键盘驱动下载,罗技m590驱动-罗技m590无线鼠标驱动下载 v8.10.154官方版-下载啦...
  15. opencv-python:17_图像经典边缘检测算子(边缘检测、图像梯度、Roberts算子、Prewitt算子、Sobel 算子、Laplacian 算子、Canny算子、算子优缺点对比)
  16. 所有键盘鼠标模拟方式原理及实现
  17. redspider无法启动,并行配置不正确
  18. 大数据重塑未来金融监管方式
  19. 常见java异常英语词汇(一)
  20. 我应该拿什么来拯救你,我的游戏?

热门文章

  1. 在Xcode8中使用Swift2.3
  2. 随笔:《像火箭科学家一样思考:将不可能变成可能》观书有感
  3. Objective-C——initialize方法调用原理分析
  4. [转载] 【冬瓜哥手绘雄文】集群文件系统架构演变终极深度梳理图解
  5. 【读书笔记】《Web全栈工程师的自我修养》
  6. [WinError 193] %1 不是有效的 Win32 应用程序问题解决
  7. 网站seo淘宝客不能做了?我是怎么用网站做淘客月入过万的
  8. cv2.imshow无法正常显示图片,而是一闪而过解决办法
  9. CTF学习之0基础入门笔记(一)
  10. java 短信从申请到实现(阿里云)