seek方法补充

seek 默认模式是从文件的开始移动光标,一共有0.1.2三种模式

f=open('seek.txt','r',encoding='utf-8')
print(f.tell())
f.seek(10,0)  #0代表的就是从文件开头移动光标 这是默认的
print(f.tell())
f.seek(3,0)
print(f.tell())
f=open('seek.txt','rb') #如果使用seek的其他模式有必须要使用b的模式
print(f.tell())
f.seek(10,1)    #1代表相对位置,相对于上一次的光标这一次怎么移动
print(f.tell())
f.seek(3,1)
print(f.tell())
f=open('seek.txt','rb')  #有什么用? 
print(f.tell())
f.seek(-5,2)      #2代表从文件末尾开始移动光标
print(f.read())    #读是读光标后面的内容
print(f.tell())
f=open('日志文件','rb')

for i in f.readlines():  #用readlines就是把所有的内容给一下都调到内存,等于用渔网弄上来所有的鱼
    print(i)

#循环文件的推荐方式
for i in f:    #用f就是一条条的拿鱼上来,但是这里是从正方向一条条的拿,而我们要从后开始拿,所以倒过来拿
    print(i)
 
 
f=open('日志文件','rb') #这一部分代码的意思就是你有很多条日志,但是你要得到最新的一条日志,也就是你文件中最后一行日志该怎么操作
for i in f:
offs
=-10 while True: f.seek(offs,2) #从最后开始读取 data=f.readlines() if len(data) > 1: #只要光标的位置是在最后一行之上便可得到最后一行 如果没有则要继续增大offs值 print('文件的最后一行是%s' %(data[-1].decode('utf-8'))) break offs*=2

猜你喜欢

转载自www.cnblogs.com/newt/p/9003599.html