文件操作-seek、tell、flush

f = open(r"E:\workspace\test\test2\tttttt.txt","w+")
print(f.tell()) #告诉我们当前位置
f.write("test line 1\n") #13个字节  \n算2个
f.flush() #刷新文件内部缓冲区,让文件直接写入
print(f.tell())
f.write("test line 2\n")
print(f.tell())
f.close()

注意:

flush()是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法

 

f = open(r"E:\workspace\test\test2\tttttt.txt","rb")
print(f.tell())
f.seek(5,1) #5偏移的字符量 1代表从当前位置开始算起
print(f.tell())
print(f.readline())
f.close()

注意:

用seek在我这里只能是b模式打开

seek()的三种模式:

(1)f.seek(p,0) 移动当文件第p个字节处,绝对位置

(2)f.seek(p,1) 移动到相对于当前位置之后的p个字节

(3)f.seek(p,2) 移动到相对文章尾之后的p个字节

 

转载于:https://www.cnblogs.com/bubutianshu/p/10817941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值