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. App优化 StrictMode 严格模式

    StrictMode简介 StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例.一旦检测到策略违例policy violation,你将获得警告,其包含了一个栈tra ...

  2. permission 权限 列表 6.0 运行时【案例】

    demo地址:https://github.com/baiqiantao/PermissionTest.git <uses-permission android:name="andro ...

  3. 【右滑返回】滑动冲突 Scroller DecorView

    基本思想 我们的滑动逻辑主要是利用View的scrollBy() 方法, scrollTo()方法和Scroller类来实现的 当手指拖动视图的时候,我们监听手指在屏幕上滑动的距离 利用View的sc ...

  4. mybatis 针对SQL Server 的 主键id生成策略

    SQL Server中命令: select newId()  ,可以得到SQL server数据库原生的UUID值,因此我们可以将这条指令写到 Mybatis的主键生成策略配置selectKey中. ...

  5. C++11 lambda 表达式解析

    C++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看.本文作为 5 月的最后一篇博客,将介绍 C++11 的 lamb ...

  6. c++ placement new概念

    参考:http://www.cnblogs.com/Clingingboy/archive/2013/04/26/3044910.html 转:http://bbs.chinaunix.net/thr ...

  7. Spark踩坑记:共享变量

    收录待用,修改转载已取得腾讯云授权 前言 前面总结的几篇spark踩坑博文中,我总结了自己在使用spark过程当中踩过的一些坑和经验.我们知道Spark是多机器集群部署的,分为Driver/Maste ...

  8. Inception in CNN

    之前也写过GoogLeNet的笔记.但那个时候对Inception有些似懂非懂,这周又一次看了一遍,觉得有了新的体会,特地又一次写一篇博客与它再续前缘. 本文属于论文笔记性质.特此声明. Networ ...

  9. USACO humble

    用set构造,优先队列和堆也能够 /* ID:kevin_s1 PROG:humble LANG:C++ */ #include <iostream> #include <cstdi ...

  10. 解决ArcEngine开发程序“假死”现象

    在GIS数据处理中,数据量大是一个非常伤脑筋的问题.最近,在写一个CAD注记转Shapefile文件时,又遇到这个问题. 曾经处理一次数据,达130万个点,即测试区域内的栅格转成点全部处理,程序是写好 ...