浅谈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中的fileinput模块的简单实用示例
Jul 09 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
python实现换位加密算法的示例
Oct 14 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
浅谈PySpark SQL 相关知识介绍
Jun 14 Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
django ajax发送post请求的两种方法
Jan 05 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
Feb 17 Python
Python借助with语句实现代码段只执行有限次
Mar 23 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
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
GRID拖拽行的实例代码
2013/07/18 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
微信小程序实现图片预览功能
2018/01/31 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
微信小程序框架的页面布局代码
2019/08/17 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
js实现轮播图特效
2020/05/28 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
python传递参数方式小结
2015/04/17 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
基于python实现复制文件并重命名
2020/09/16 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
VC++笔试题
2014/10/13 面试题
初中音乐教学反思
2014/01/12 职场文书
中学教师培训制度
2014/01/31 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
合伙经营协议书范本
2014/04/18 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS