seek()方法用于移动文件读取指针到指定位置。

file.seek()方法标准格式是:file.seek(offset,whence)

offset:开始的偏移量,也就是代表需要移动偏移的字节数

whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。whence值为空没设置时会默认为0。

例子:

>>> f=open("aaa.txt","w")     #以只写的形式打开一个叫做aaa.txt的文件
>>> f.write("my name is liuxiang,i am come frome china") #写入内容
41
>>> f.close() #关闭文件
>>> f=open("aaa.txt","r") #以只读打开文件
>>> f.read() #读取内容
'my name is liuxiang,i am come frome china'
>>> f.seek(3,0) #“0”代表从文件开头开始偏移,偏移3个单位
>>> f.read(5) #从偏移之后的指针所指的位置(即“n”)开始读取5个字符
'name '
>>> f.tell() #显示现在指针指在哪个位置(即“i”的位置)
8
>>> f.readline() #读取这一行剩下的内容
'is liuxiang,i am come frome china' >>> f.seek(0,2) #“2”代表从末尾算起,“0”代表偏移0个单位
41
>>> f.read()
'' #因为是从末尾算起,内容已结束。所以读取内容为空

有时候seek()函数会报错  “io.UnsupportedOperation: can't do nonzero cur-relative seeks”

这种错误的原因和解决方案我写在了另一篇随笔里: 使用seek()方法报错:“io.UnsupportedOperation: can't do nonzero cur-relative seeks”错误的原因

http://www.cnblogs.com/xisheng/p/7636736.html

seek()方法的使用的更多相关文章

  1. Python 文件 seek() 方法

    概述 Python 文件 seek() 方法用于移动文件读取指针到指定位置. 语法 seek() 方法语法如下: fileObject.seek(offset[,whence]) 参数 offset  ...

  2. python中读取文件的f.seek()方法

    用于二进制文件中F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 相 ...

  3. file.seek()方法引出的文本文件和二进制文件问题

    问题的起因 菜鸟教程上有一段关于file.seek()方法的讲解,先简短描述一下seek()方法: seek(offset, whence)方法用于移动文件读取指针到指定位置 参数offset--开始 ...

  4. 文件操作中file.seek()方法

    摘要: file.seek()可以将文件游标移动到文件的任意位置,本文具体的file.seek()文件游标移动操作方法. file.seek()方法标准格式是:seek(offset,whence=0 ...

  5. Python File seek() 方法

    概述 seek() 方法用于移动文件读取指针到指定位置.高佣联盟 www.cgewang.com 语法 seek() 方法语法如下: fileObject.seek(offset[, whence]) ...

  6. java 随机读写访问流及seek方法

    package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOExceptio ...

  7. stream的seek方法实例

    using (FileStream outStream = new FileStream(@"D:\12.txt", FileMode.Open)) { using (FileSt ...

  8. seek方法补充

    seek 默认模式是从文件的开始移动光标,一共有0.1.2三种模式 f=open('seek.txt','r',encoding='utf-8') print(f.tell()) f.seek(10, ...

  9. C# FileStream 对象的Seek()方法-----转载

    原创 kevin617 发布于2010-12-08 11:22:00 阅读数 8630 收藏展开 FileStream 可以随机读写文件 使用 Seek 方法 Seek()  ----------有两 ...

随机推荐

  1. java获取变量的类型

    对于简单类型变量,是无法直接获得变量类型的://要想获取,必须自定义函数进行返回 对于包装类型变量,是可以直接获得的,变量名称.getClass().getName(); java中获取变量的类型可以 ...

  2. day14(xml 编写及解析)

    编写 xml的组成: 1.文档的声明 <?xml version='1.0' encoding='UTF-8' standalone='yes'> xml 表示标签的名字 encoding ...

  3. java基础-day1

    第01天 java基础知识 今日内容介绍 u Java概述.helloworld案例 u 工具安装 .配置环境变量.注释.关键字 u 常量.变量.数据类型.标识符 第1章   Java概述 1.1  ...

  4. HDU1078 FatMouse and Cheese(DFS+DP) 2016-07-24 14:05 70人阅读 评论(0) 收藏

    FatMouse and Cheese Problem Description FatMouse has stored some cheese in a city. The city can be c ...

  5. Unidac连接出错:命名管道提供程序:管道的另一端上无任何进程.

    环境: DELPHI XE ,UniDAC 6.2.8, (Options->Provider=prNativeClient) 程序编译后,放在Windows Server 2003 (sp2 ...

  6. Android-CallUtil工具类

    打电话相关的工具类: public final class CallUtil { /** * 拨打电话(直接拨打电话) * @param phoneNum 电话号码 */ @SuppressLint( ...

  7. ASP.NET WEB API 返回JSON 出现2个双引号问题

    前言          在使用ASP.NET WEB API时,我想在某个方法返回JSON格式的数据,于是首先想到的就是手动构建JSON字符串,如:"{\"result\" ...

  8. 8086汇编语言(1)虚拟机安装ms-dos 7.1

    8086汇编语言(1)虚拟机安装ms-dos 7.1 文/玄魂 前言 在开始这一系列文章之前,我想先说下,对于古董级的8086汇编到底还以有没有学习的必要.这里我说下我要从8086开始学习,而不是从w ...

  9. DAC--解决windows验证无法登陆的问题

    解决思路: 使用单用户管理员模式启动SQL Server,再使用SQLCMD连接上数据库,此时有sysadmin权限,添加用户并赋予相应权限 1>停止SQL Server服务运行 2>在C ...

  10. Python 数据结构与算法——桶排序

    #简单的桶排序 def bucksort(A): bucks = dict() # 定义一个桶变量,类型为字典 for i in A: bucks.setdefault(i,[]) # 每个桶默认为空 ...