Python文件处理之文件写入方式与写缓存
来源:互联网 发布:js单选框和复选框 编辑:程序博客网 时间:2024/05/18 02:03
Python的open的写入方式有:
write(str):将str写入文件
writelines(sequence of strings):写多行到文件,参数为可迭代对象
首先来看下writelines()这个方法:
1 f = open('blogCblog.txt', 'w') #首先先创建一个文件对象,打开方式为w2 f.writelines('123456') #用readlines()方法写入文件
运行上面结果之后,可以看到blogCblog.txt文件有123456内容,这里需要注意的是,mode为‘w’模式(写模式),再来看下面代码:
1 f = open('blogCblog.txt', 'w') #首先先创建一个文件对象,打开方式为w2 f.writelines(123456) #用readlines()方法写入文件
运行上面代码之后会报一个TypeError,这是因为writelines传入的参数并不是一个可迭代的对象。
接着来看write方法:
可以看到在cmd运行上面代码,明明用write写入blogCblog这个字符串,但在blogCblog.txt这个文件里面没有blogCblog这个字符串喔,也就是没有写入成功,为什么?接着来看下这段代码:
这段代码写入了10000行blogCblog字符串,打开blogCblog.txt文件发现,有内容,但只有9000多行,不是10000吗,怎么写入一个blogCblog就不成功呢?其实,Python写入过程中是把字符串写入一个叫缓冲区中,当你写入的字节大于或等于缓冲区的大小,就会自动写入到文件中,而当你写入的字节小于缓冲区的大小,就会一直存在缓冲区中。
解决这种问题的方法就是调用close()方法,先清空blogCblog.txt这个文件里的内容,再运行下面代码:
你会发现blogCblog.txt文件里有blogCblog这个字符串了,这是close()的功劳
同样的,当你写入一个大于或等于缓冲区大小的数据时,虽然没有调用close()也会写入一部分数据,这是因为缓冲区装不下那么大的数据,会自动的写入到你的文件中,剩下的数据因为小于缓冲区的大小,所以会存在缓冲区中,这就是当你写入大于或等于缓冲区大小的数据时,只写入一部分的原因,这时,只需调用close()方法,就会把缓冲区的剩下数据写入到文件中。
所以,当你操作完文件后,千万别忘了关闭!!!
另外:如果你没有关闭,就删除不掉这个文件,因为你进程占用了!还有当你打开这个文件很很多次并不关闭的话就会打开失败!
转载自:https://www.cnblogs.com/blogCblog/p/5597930.html
- Python文件处理之文件写入方式与写缓存
- python写入文件乱码处理
- 【python图像处理】txt文件数据的读取与写入
- python之 文件读与写
- Discuz!开发之写入文件缓存
- python文件操作之文件写入
- Swift之缓存文件处理
- python之文件处理
- Python之文件处理
- Python之文件处理
- 写文件与错误处理
- Python 文件读取与写入操作方法
- Python之文件读取和写入
- 追加写入的方式的 写 csv文件
- 文件缓存——写与读
- PHP文件处理--写入文件
- Linux-缓存文件写入失败!
- python文件的写入
- doc,docx,pdf,ppt等文件类型读取方法
- 数据结构第五周项目5--后缀表达式
- 创建表空间及用户的步骤
- Java、C#端进行Socket异步数据传输
- 互联网产品交互设计思路与方法
- Python文件处理之文件写入方式与写缓存
- Docker
- 第十周项目1(3)-中序线索化二叉树的算法验证
- 欢迎使用CSDN-markdown编辑器
- flowable工作流
- java日志文件log4j.properties配置详解
- Android 7.0 安装包修改后无法安装
- python excel文件数据转成json
- ofbiz局部刷新on-event-update-area(如分页等)