1 seek()

1.1 概述

file.seek()用于将文件游标移动到文件的任意位置,便于对文件的当前位置(增、删、改、查)操作

1.2 语法

fileObject.seek(offset[, whence])

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

  大于0的数表示向文件尾方向移动的字节数

  小于0的数表示向文件头方向移动的字节数

whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;

  0代表从文件开头开始算起,

  1代表从当前位置开始算起,

  2代表从文件末尾算起。

该函数没有返回值

1.3 示例

首先建立一个 seek_read.txt 文件,内容如下

ABCDEabcde1234567890

读写程序

f = open("read_seek.txt", 'rb')

f.seek(10)  # 重新定位读写光标
b = f.read(10)  # b'1234567890'
print(b)

f.seek(-5, 2)  # 重新定位读写光标
b = f.read(5)   #  b'67890'
print(b)

f.seek(2, 0)  # 重新定义读写光标
b = f.read(5)   # b'CDEab'
print(b)

f.close()

重新定义光标可以不受限制地将光标移动到任意位置并进行读写操作。


2 tell()

2.1 概述

tell() 方法返回文件的当前位置,即文件指针当前位置。

2.2 语法

fileObject.tell()

无参数

返回值:返回文件的当前位置

2.3 示例

依然是read_seek.txt文件,内容 ABCDEabcde1234567890

f = open("read_seek.txt", 'rb')

b = f.read(5)
print("b = ", b)    # b =  b'ABCDE'
print("当前位置是:", f.tell())  # 当前位置是: 5

f.read(5)

print("当前位置是:", f.tell())  # 当前位置是: 10

f.close()

Python学习笔记015——文件file的常规操作seek()及tell()的更多相关文章

  1. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  2. Python学习笔记015——文件file的常规操作(二进制文件)

    有时候诸如图片.音乐等信息不是以文本的形式存储的,而是二进制文件格式存储的. 有时候很多信息不是以文本文件的形式存储的 很多时候,都需要用到二进制读取文件.毕竟很多信息不是以文本的形式存储.例如:图片 ...

  3. Python学习笔记015——文件file的常规操作之四(输入重定向)

    windows命令提示符(cmd.exe)和Linux Shell(bash等)均可通过">"或”>>“将输出重定向.其中, ">"表示 ...

  4. Python学习笔记015——文件file的常规操作之三(标准输入输出文件)

    1 标准输入输出文件 在Python中,模块sys中含有标准的输入输出文件 sys.stdin     标准输入方法(一般是键盘) sys.stdout   标准输出方法(到显示器的缓冲输出) sys ...

  5. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  6. Python学习笔记之文件处理

    1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...

  7. python学习笔记(11):文件的访问与函数式编程

    一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...

  8. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

  9. python学习笔记之——文件I/O

    1.print打印到屏幕 print "打印到屏幕" 2.读取读取键盘输入 (1)raw_input函数 raw_input([prompt]) 函数从标准输入读取一个行,并返回一 ...

随机推荐

  1. Length of Last Word leetocde java

    题目: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return t ...

  2. 【Multiple backgrounds】用CSS3实现网页多重背景

    对于背景属性background-image大家应该已经很熟悉了,在CSS2中与它相关的属性还有background-repeat(设置背景是否重复及重复的方式).background-positio ...

  3. GDB调试工具总结

    程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原因,以及如何设计新的现象去验证假设,需要非常严密的分析和思考.程序中除了一 ...

  4. RS开发值提示默认为当前月

    在报表的开发过程中,按月查询数据,但是由于数据仓库中涉及多年历史数据,而用户最关心的却是最近的数据,针对这个情况.当用户第一次点击报表想看到的就是当前月的数据,那么如何去做呢? 下面用一个小例子来实战 ...

  5. IStat Menus 5.02 5.03 的注册码

    1574-5977-7956-8062-0000 6015-5448-3282-4975-0000 9665-5955-6856-2071-0000 2447-9517-7939-5221-0000

  6. 【Android 百度地图实战】2.几种地图图层的显示

    具体代码官网API已提供,地址在这. 效果图如下: 主要代码: // 创建选项菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { ...

  7. 新浪微博SSO登陆机制(转载)

    原文地址: http://www.cnblogs.com/AloneSword/p/3840548.html 最近在使用sina微博时,经常性交替使用 weibo.com 和 t.sina.cm.cn ...

  8. solr安装使用笔记

    下载 solr官方下载地址:http://lucene.apache.org/solr/ 使用 启动 solr dir/bin/solr.cmd start 停止 solr dir/bin/solr. ...

  9. 在MyEclipse中设置jsp页面为默认utf-8编码(转)

    http://www.cnblogs.com/xdp-gacl/p/3496161.html 在MyEclispe中创建Jsp页面,Jsp页面的默认编码是“ISO-8859-1”,如下图所示: 在这种 ...

  10. Mac Oracle SqlDeveloper 快捷输入

    用惯了 plsql 的快捷输入,换了 Mac Oracle SqlDeveloper反倒是找不到了,翻出去找了几次终于找到 SqlDeveloper -- preferences -- 数据库(dat ...