浅谈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网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
python中字典(Dictionary)用法实例详解
May 30 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
python实现电脑自动关机
Jun 20 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
解决python给列表里添加字典时被最后一个覆盖的问题
Jan 21 Python
selenium处理元素定位点击无效问题
Jun 12 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
浅谈Python中的正则表达式
Jun 28 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 flock 文件锁详细介绍
2012/12/29 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
使用PHP开发留言板功能
2019/11/19 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
google地图的路线实现代码
2009/08/20 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
了解重排与重绘
2019/05/29 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
Python导出DBF文件到Excel的方法
2015/07/25 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
python实现发送邮件
2021/03/02 Python
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
领导证婚人证婚词
2014/01/13 职场文书
趣味运动会活动方案
2014/02/12 职场文书
《学棋》教后反思
2014/04/14 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
2014年预算员工作总结
2014/12/05 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技