控制文件指针移动

with open('a.txt',mode='rt',encoding='utf-8')as f:
res=f.read(4)
print(res)

强调:只有t模式下read(n)中的n表示的是字符个数,其他都是以字节为单位。

with open('a.txt',mode='rb')as f:
res=f.read(3)
print(res.decode('utf-8'))
f.seek():指针移动    以字节为单位

三种模式:

  • 0(默认):参照文件开头

  • 1                :参照指针当前位置

  • 2                :参照文件末尾

I 0模式:参照文件开头

只有0模式既可在t下用也可在b模式下用。1.2只能在b模式下用

with open('a.txt',mode='rt',encoding='utf-8') as f:
f.seek(3, 0)
print(f.tell()) #显示指针位置
print(f.read())
#参照文件开头指针位置向后移动3个字节

II 1模式:参照指针当前位置

with open('a.txt',mode='rb')as f:
f.read(3) #先读三个字节,指针移动到3
f.seek(3, 1)#1以指针当前位置再移动3位
print(f.read().decode('utf-8'))

III 2模式:参照文件末尾

with open('a.txt',mode='rb')as f:
f.seek(-5,2) #参照文件末尾,指针移动到-5
print(f.tell())
print(f.read().decode('utf-8'))

小练习:

写一个程序监测文件中新增内容:

with open('access.log',mode='at',encoding='uft-8')as f:
f.write('时间 内容 登陆名\n') #先写一个程序:该程序就是被监测程序
import time #导入时间模块,刷新时间
with open('access.log',mode='rb')as f:
f.seek(0, 2) #将指针移到文件末尾
while True: #循环一行行读取文件
line = f.readline()
if len(line) == 0:#判断文件长度是否为0,为0表示文件未写入
time.sleep(1)
else:#如果有文件写入则会打印
print(line.decode('utf-8'), end='')

python文件处理指针的移动的更多相关文章

  1. Python文件指针与Python函数

    文件内指针移动:f.seek() 强调:只有t模式下read(n),n代表字符的个数,除此以外都是以字节为单位. """ 文件内容:哈哈哈哈 呵呵呵呵 "&qu ...

  2. python文件操作:文件指针移动、修改

    一.文件指针移动 二.修改   一.文件指针移动 #大前提:文件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位 # f.read(3) # with open('a ...

  3. python文件I/O(转)

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

  4. python 文件操作总结

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

  5. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  6. Python文件操作详解

    Python内置了一个open()方法,用于对本地文件进行读写操作.这个功能简单.实用,属于必须掌握的基础知识. 使用open方法操作文件可以分三步走,一是打开文件,二是操作文件,三是关闭文件.下面分 ...

  7. python文件和元组

    python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...

  8. (转)python文件操作 seek(),tell()

    seek():移动文件读取指针到指定位置 tell():返回文件读取指针的位置 seek()的三种模式: (1)f.seek(p,0)  移动当文件第p个字节处,绝对位置 (2)f.seek(p,1) ...

  9. Python 文件I/O (转)

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

随机推荐

  1. CentOS 7安装Oracle 11gR2以及设置自启动(2)

    6.创建表空间和用户授权 (1).连接数据库 $ sqlplus / as sysdba (2).创建数据库表空间 语法: create tablespace 表空间名 datafile ‘物理地址( ...

  2. python之路——6

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 增dic['age'] = 21 dic.setfault()删popcleardel popitem ...

  3. java的几种引用

    强引用:无论内存是否足够,不会回收. 软引用:内存不足时,回收该引用关联的对象. 弱引用:垃圾回收时,无论内存是否足够,都会回收. 虚引用:任何时候都可能被垃圾回收器回收. 在Java中,虽然不需要程 ...

  4. HTTP RFC解析

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出, ...

  5. 如何使用Python操纵Postgres数据库

    pip install psycopg2 psycopg2-binary #!/usr/bin/python import psycopg2conn = psycopg2.connect(databa ...

  6. python类的全面介绍

    转载:全面介绍python面向对象的编程——类的基础 转载:类的实例方法.静态方法.类方法的区别

  7. h5标签兼容

    <!--[if lt IE 9]> <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.js"> ...

  8. insert into table 插入多条数据

    方法1: insert into `ttt` select '001','语文' union all select '002','数学' union all select '003','英语'; 方法 ...

  9. C++连接mysql及遇到的相关问题

    最近接触了很多数据库的东西,本来是一直接触的是sql server,不过由于项目需要就开始对mysql进行了连接.下面就让我这个菜鸟浅谈下经验吧. 对于C++连接mysql,我不太喜欢多下载一个软件m ...

  10. Error running app: Default Activity not found ; 安卓程序运行不了,也不报错。

    我最近copy一个工程,写完了去运行时不能运行,项目不报错,就是运行的地方有个叉号:尝试很多办法后准备重新New一个时发现:"10:17 Error running app: Default ...