浅谈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获取服务器信息的最简单实现方法
Mar 05 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
django从请求到响应的过程深入讲解
Aug 01 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
Python3实现的简单三级菜单功能示例
Mar 12 Python
对Django中内置的User模型实例详解
Aug 16 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
Mar 08 Python
Django celery异步任务实现代码示例
Nov 26 Python
call在Python中改进数列的实例讲解
Dec 09 Python
python urllib和urllib3知识点总结
Feb 08 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 什么是PEAR?
2009/03/19 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
linux中cd命令使用详解
2015/01/08 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
淘宝搜索框效果实现分析
2011/03/05 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
解决vue+webpack打包路径的问题
2018/03/06 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
Python实现网站表单提交和模板
2019/01/15 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
综合测评自我鉴定
2013/10/08 职场文书
中专毕业生自荐信范文
2013/11/28 职场文书
大专会计自我鉴定
2014/02/06 职场文书
煤矿安全承诺书
2014/05/22 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
政风行风整改方案
2014/10/25 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
MySQL如何解决幻读问题
2021/08/07 MySQL