文件seek方法的补充

f = open('seek.txt','r',encoding='utf-8')
print(f.tell())
f.seek(10) #基于0位置开始
print(f.tell())
f.seek(3)
print(f.tell())

f = open('seek.txt','rb')
print(f.tell())
f.seek(10,1) #1是以上一次光标位置为参考的,。打开文件时必须用rb模式
print(f.tell())
f.seek(3,1)
print(f.tell())

f = open('seek.txt','rb')
print(f.tell())
f.seek(-10,2) #2代表是倒着seek 。
print(f.read())


#查找日志的最后一行内容
f = open('a.txt','rb')
for i in f: #循环文件的推荐方式,
offs = -10 #定义一行日志大概的长度(字节)
while True:
f.seek(offs,2) #将光标移动到倒数10个字节的位置
data = f.readlines()# 从当前位置,读到结尾
if len(data) > 1:
print('文件的最后一行是%s'%[data[-1].decode('utf-8')])
break
offs *=2
posted @ 2018-04-04 15:19  阜阳小全  阅读(113)  评论(0编辑  收藏  举报