码迷,mamicode.com
首页 > 其他好文 > 详细

文件操作一追加操作

时间:2019-10-03 18:06:08      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:pat   清空   close   flush   write   必须   utf-8   多少   就是   

一.读写模式

对于读写模式,必须是先读后写,因为光标默认在开头位置,当读完了以后再进行写入.我们以后使用频率最高的模式就是r+

r+模式

看下正确的操作:

f1 = open('../path1/小娃娃.txt',mode='r+',encoding='utf-8')
msg = f1.read()
f1.write('这支烟灭了以后')
f1.flush()
f1.close()
print(msg)
结果:
正常的读取之后,写在结尾

看下错误的操作:

f1 = open('../path1/小娃娃.txt',mode='r+',encoding='utf-8')
f1.write('小鬼')
msg = f1.read()
f1.flush()
f1.close()
print(msg)

结果:
这样写会把小鬼写在开头,并且读出来的是小鬼之后的内容

r+模式一定要记住是先读后写

r+模式坑

深坑请注意: 在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显示的是多少. 再写入 或者操作文件的时候都是在结尾进行的操作.

二.写读模式

先将所有的内容清空,然后写入.最后读取.但是读取的内容是空的,不常用

f1 = open('../path1/小娃娃.txt',mode='w+',encoding='utf-8')
f1.write('小鬼')
msg = f1.read()
f1.flush()
f1.close()
print(msg)

有人说,先读在写不就行了.w+模式下 其实和w模式一样,把文件清空了,在写的内容.

追加读(a+,a+b)

a+模式下,不论是先读还是后读,都是读不到数据的

f = open('../path1/小娃娃.txt',mode='a+',encoding='utf-8')
f.write('阿刁')
f.flush()
msg = f.read()
f.close()
print(msg)

文件操作一追加操作

标签:pat   清空   close   flush   write   必须   utf-8   多少   就是   

原文地址:https://www.cnblogs.com/luckinlee/p/11620036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!