浅谈python写入大量文件的问题


Posted in Python onNovember 09, 2018

今天准备把几个txt文件合并成一个文件时,用f.write方法写入时,发现程序执行完了,本应该十万行左右的txt记录,实际上只被写入了4k多行。

网上查了是因为程序执行速度太快,以至于读到内容还没有完全写入文件,文件就已经关闭了

方法一:加入缓冲区

f.flush()
//operation
os.fsync(output)
f.close()

打开文件后执行flush(),关闭文件前执行os.fsync()确保缓冲区的内容都写出去了。

方法二:用sleep

用了上述方法不行,因为我在打开文件后用了迭代输出,可能会让缓冲区爆炸,在循环中加入sleep函数可以确保每次循环都能将内容写入

with open(outputfile,'a') as output:
  for i in all_txt_name:
   f =open(dir+'/'+i)
   for a in f:
    output.write(a)
    time.sleep(0.00000001)
   f.close()

后来发现:

txt文件如果太大,在pycharm中只会显示一小部分,可能是指显示了部分文件导致未以为文件没写进去,fuck

以上这篇浅谈python写入大量文件的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
Python实现的排列组合计算操作示例
Oct 13 Python
python+pandas分析nginx日志的实例
Apr 28 Python
python中for用来遍历range函数的方法
Jun 08 Python
python实现泊松图像融合
Jul 26 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Python对列表的操作知识点详解
Aug 20 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
Python使用matplotlib绘制Logistic曲线操作示例
Nov 28 Python
python微信公众号开发简单流程实现
Mar 09 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
启动Atom并运行python文件的步骤
Nov 09 #Python
Python产生Gnuplot绘图数据的方法
Nov 09 #Python
python pyheatmap包绘制热力图
Nov 09 #Python
Django 视图层(view)的使用
Nov 09 #Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 #Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 #Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 #Python
You might like
php下目前为目最全的CURL中文说明
2010/08/01 PHP
php实现监听事件
2013/11/06 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
php7 新增功能实例总结
2020/05/25 PHP
JS常用表单验证方法总结
2014/05/22 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
js获取页面description的方法
2015/05/21 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
详解node.js中的npm和webpack配置方法
2018/01/21 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
Python类的专用方法实例分析
2015/01/09 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Python多线程原理与用法详解
2018/08/20 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
你应该知道的30个css选择器
2014/03/19 HTML / CSS
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2014年收银工作总结
2014/11/13 职场文书
自主招生自荐信格式
2015/03/04 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android