"""
1.文件内指针的移动
大前提:指针在文件内的移动都是以bytes为单位的,唯独在t模式下的r时是以字符为单位。
2.seek(移动的bytes数,模式控制)控制指针的移动
模式控制
0:默认模式,该模式代表指针移动的字节数是以文件开头为参照的
1:该模式代表指针移动的字节数是以当前指针的位置为参照
2:该模式代表指针移动的字节是以文件末尾的位置为参照
强调:
其中0模式可以在t或者b模式下使用,1和2只能在b模式下使用
3.tell()查看文件当前指针距离文件开头的位置
4. 0模式详解
with open("c.txt",mode="rt",encoding="utf-8")as f:
f.seek(4,0) #移动指针的过程
print(f.tell()) #查看当前指针距离文件开头的位置
print(f.read()) #查看指针后面的文件内容
with open('c.txt',mode='rb')as f:
f.seek(10,0)
print(f.tell())
print(f.read().decode('utf-8')) #查看指针后面的内容的话一定要解码
5. 1模式详解
with open('c.txt',mode='rb')as f:
f.seek(6,1)
print(f.tell())
print(f.read().decode('utf-8'))
6. 2模式详解
with open('c.txt',mode='rb')as f:
f.seek(-9,2)
data=f.read()
print(data.decode())
7.tail -f access. #日志文件,新增内容会显示出来
with open('access.log',mode='rb')as f:
while True:
f.seek(0,2)
data=f.readline()
if len(data) == 0:
continue
else:
print(data.decode('utf-8'))
# import time
# time.strftime是一个显示实时时间的
"""""