浅谈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中函数的参数传递
Jun 21 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
python3写爬取B站视频弹幕功能
Dec 22 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 Python
wxPython实现绘图小例子
Nov 19 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
Jan 25 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
python如何操作mysql
Aug 17 Python
DRF框架API版本管理实现方法解析
Aug 21 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 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
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
PHP开发Apache服务器配置
2015/07/15 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
Python实现去除代码前行号的方法
2015/03/10 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
python简单的三元一次方程求解实例
2020/04/02 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
白色公司:The White Company
2017/10/11 全球购物
上班迟到检讨书
2014/01/10 职场文书
班组安全员工作职责
2014/02/01 职场文书
无房证明范本
2014/09/17 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书