码迷,mamicode.com
首页 > 编程语言 > 详细

python 读写文件

时间:2019-10-05 20:03:45      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:div   none   buffer   keyword   encoding   直接   设置   ror   读取文件   

>>> f2 = open(‘/tmp/test.txt‘,‘r+‘)

>>> f2.read()
‘hello girl!‘
>>> f2.write(‘\nhello boy!‘)
>>> f2.close()
 
hello girl!
hello boy!
 
可以看到,如果在写之前先读取一下文件,再进行写入,则写入的数据会添加到文件末尾而不会替换掉原先的文件。这是因为指针引起的,r+ 模式的指针默认是在文件的开头,如果直接写入,则会覆盖源文件,通过read() 读取文件后,指针会移到文件的末尾,再写入数据就不会有问题了。这里也可以使用a 模式
 
当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,只有调用close(),操作系统才把缓存数据写入写入磁盘。
 
open(file, mode=‘r‘, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) -> file object

其中参数buffering控制缓冲行为

buffering默认为-1,系统默认的全缓冲

buffering可以设置为大于1的任意整数,字节数为buffering的全缓冲

buffering=1,设置为行缓冲模式

buffering=0, 设置为无缓冲模式

 

python 读写文件

标签:div   none   buffer   keyword   encoding   直接   设置   ror   读取文件   

原文地址:https://www.cnblogs.com/HISAK/p/11625517.html

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