为了账号安全,请及时绑定邮箱和手机立即绑定

python 文件操作读、写、追加的区别

标签:
Python

打开文件的常用模式有:

  • r ,只读模式【默认】

  • w,只写模式【不可读;不存在则创建;存在则清空内容;】

  • a, 追加模式【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】【可理解为先读后写,不擦除原文件内容,指针在0】

  • w+,写读【可读,可写】【可理解为先写后读,擦除原文件内容,指针在0】

  • a+, 写读【可读,可写】【不擦除原文件内容,但指针直接到最后,读取原内容先重置指针】

模式可做操作若文件不存在是否覆盖指针位置
r只能读报错-0
r+可读可写报错0
w只能写创建0
w+可写可读创建0
a只能写创建否,追加写最后
a+可读可写创建否,追加写最后

可以作个测试文件,修改下打开模式,然后输出看下指针区别

f=open('I:\\python\\test\\text.txt','r+')
print('指针在:',f.tell())
lines=f.read()
if f.writable():
    f.write('nono\n')
else:
    print("此模式不可写")
print('指针在:',f.tell())
f.close()

a+模式下,虽然能读取,但指针已到最后,直接read,不会出内容,可以用seek()重置指针

f=open('I:\\python\\test\\text.txt','a+')
print('指针在:',f.tell())
lines=f.read()
print('文件内容是:',lines)  #输出为空
print('seek 0')
f.seek(0)
print('指针在:',f.tell())
lines=f.read()
print('文件内容是:',lines)
if f.writable():
    f.write('nono\n')
else:
    print("此模式不可写")
print('指针在:',f.tell())
f.close()

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消