浅谈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爬虫辅助利器PyQuery模块的安装使用攻略
Apr 24 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
wxPython实现窗口用图片做背景
Apr 25 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
python按修改时间顺序排列文件的实例代码
Jul 25 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
Python实现简繁体转换
Jun 07 Python
在Python 中将类对象序列化为JSON
Apr 06 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面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
php服务器的系统详解
2019/10/12 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
jquery操作select大全
2014/04/25 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
python实现linux下使用xcopy的方法
2015/06/28 Python
python 调用有道api接口的方法
2019/01/03 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python 魔法函数实例及解析
2019/09/25 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
两道JAVA笔试题
2016/09/14 面试题
工作交流会欢迎词
2014/01/12 职场文书
五好党支部事迹材料
2014/02/06 职场文书
十佳护士获奖感言
2014/02/18 职场文书
个人总结与自我评价
2014/09/18 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
2016小学新学期寄语
2015/12/04 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
MySQL 原理与优化之Update 优化
2022/08/14 MySQL