python文件处理指针的移动
控制文件指针移动
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文件处理指针的移动的更多相关文章
- Python文件指针与Python函数
文件内指针移动:f.seek() 强调:只有t模式下read(n),n代表字符的个数,除此以外都是以字节为单位. """ 文件内容:哈哈哈哈 呵呵呵呵 "&qu ...
- python文件操作:文件指针移动、修改
一.文件指针移动 二.修改 一.文件指针移动 #大前提:文件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位 # f.read(3) # with open('a ...
- python文件I/O(转)
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- python 文件操作总结
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- Python文件操作详解
Python内置了一个open()方法,用于对本地文件进行读写操作.这个功能简单.实用,属于必须掌握的基础知识. 使用open方法操作文件可以分三步走,一是打开文件,二是操作文件,三是关闭文件.下面分 ...
- python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- (转)python文件操作 seek(),tell()
seek():移动文件读取指针到指定位置 tell():返回文件读取指针的位置 seek()的三种模式: (1)f.seek(p,0) 移动当文件第p个字节处,绝对位置 (2)f.seek(p,1) ...
- Python 文件I/O (转)
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
随机推荐
- 类实例化对象可以访问静态(static)方法,但是不能访问静态属性。
类-> 访问->静态方法(类的方法)->可以 类 ->访问->普通方法(对象的方法)->不可以(虽然方法里不用$this关键字时,可以!但不支持这种写法) 类-&g ...
- Shell案例:图案打印
打印三角形图案 #!/bin/bash echo "Stars" ; i<=; i++ )) do ; j<=i; j++ )) do echo -n " * ...
- optparse模块解析命令行参数的说明及优化
一.关于解析命令行参数的方法 关于“解析命令行参数”的方法我们一般都会用到sys.argv跟optparse模块.关于sys.argv,网上有一篇非常优秀的博客已经介绍的很详细了,大家可以去这里参考: ...
- [UE4]子弹碰撞
在子弹actor蓝图“BP_LauncherBullet”中添加一个球体碰撞组件“Sphere Collision”,并设置为actor的根组件(直接拖放到默认根组件上面就会覆盖) 子弹碰撞预设 “B ...
- Android中Handler.removeCallbacksAndMessages(null)的作用
众所周知,在Android开发中会大量使用到Handler.但是,由于与activity生命周期不一致,当一个Activity被销毁时,如果Handler对象有Message在排队,则无法释放,进而导 ...
- Unreal Engine 4 Based Materials
转自:http://www.52vr.com/article-862-1.html 材质参数 UE4的材质参数有4个,输入范围都是0~1之间……分别为: Base Color Roughnes ...
- Android 真机投影到PC端,真机投影工具;Vysor
Vysor可以把Android真机投影到PC端,也就是电脑上:手机端和PC端课同步操作: Vysor是Chrome浏览器的插件,我们想要添加这个插件需要FQ: 从这里可以直接下载:Vysor
- HTML5和CSS3的一些学习记录
1.引述块级文本的标签(blockquote): <blockquote cite="http://www.marktwainbooks.edu/"> <p> ...
- 零基础学习python_easygui(35课)
今天学习的内容我觉得还是很有意思的,当然我主要也是从这个网址学的:http://bbs.fishc.com/thread-46069-1-1.html,大家可以直接看这个网址进行学习,当然也可以看看我 ...
- LeetCode 7 Reverse Integer & int
Reverse Integer 想用余10直接算,没想到 -123%10 是 7, 原因 -123-(-123//10*10) r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同 ...