浅谈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 27 Python
Python编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
python实现机器学习之元线性回归
Sep 06 Python
Linux下安装python3.6和第三方库的教程详解
Nov 09 Python
详解Python3定时器任务代码
Sep 23 Python
Django配置文件代码说明
Dec 04 Python
判断Threading.start新线程是否执行完毕的实例
May 02 Python
Pycharm修改python路径过程图解
May 22 Python
python实现数据结构中双向循环链表操作的示例
Oct 09 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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调用mysql存储过程
2007/02/14 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
javaScript复制功能调用实现方案
2012/12/13 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
Python写入CSV文件的方法
2015/07/08 Python
说一说Python logging
2016/04/15 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python Subprocess模块原理及实例
2019/08/26 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
物业消防安全责任书
2014/07/23 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
PHP新手指南
2021/04/01 PHP
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript