在用python进行数据处理编程中,往往涉及到文件IO口读写,IO口的读写性能会极大的影响程序的运行时间。在进行文件写入时,一般会存在两种情况。第一种是数据到来马上进行数据写入,即来一条写一条,第二种是数据到来时先存储到内存中,等到数据量存储到一定程度时,再一次性写入文件中。那么,这两种情况孰优孰劣?下面用一个例子展示给大家。

先看第二种情况,程序演示的是:第一次读取1万条数据,存储在列表中,再一次性存储到文件中。每存一万条数据的时间是3.1秒。

#-*- coding: utf-8 -*-
#先读取1万条数据再保存
import os
import time filename="E:/datacastle/test_file/new.txt"
t=time.time()
data=[]
count =0
while True:
with open("E:/datacastle/test_file/train_data/20140803_train.txt",'r') as f:
with open(filename,'a') as F:
line = f.readline()
data.append(line)
count +=1
if count==10000:
print(time.time()-t)
F.writelines(data)
count=0
data=[]
t=time.time()
raw_input("over")

 每存储1万条数据的运行时间如下:

C:\Users\Administrator>python  E:\datacastle\test_file\read_big_file.py
>>3.18099999428
>>3.13100004196
>>3.12999987602
>>3.14100003242

再看第二种情况,每读一条数据就存储一条数据,每存储一万条运行的时间约为5秒

#-*- coding: utf-8 -*-
#读一条存一条
import os
import time filename="E:/datacastle/test_file/new.txt"
t=time.time()
data=[]
count =0 while True:
with open("E:/datacastle/test_file/train_data/20140803_train.txt",'r') as f:
with open(filename,'a') as F:
line = f.readline()
F.writelines(line)
count +=1
if count==10000:
print(time.time()-t)
count=0
t=time.time()

每存储1万条数据的运行时间如下:

C:\Users\Administrator>python  E:\datacastle\test_file\read_big_file.py
>>4.4889998436
>>4.70700001717
>>4.90199995041
>>4.48600006104
>>5.55800008774
>>5.29799985886

python 关于文件操作的一些理解的更多相关文章

  1. Python :open文件操作,配合read()使用!

    python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...

  2. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  3. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  4. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  5. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  6. python中文件操作的其他方法

    前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...

  7. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  8. python的文件操作及简单的用例

    一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...

  9. python基本文件操作

    python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...

随机推荐

  1. Python学习【第4篇】:Python之文件操作

    文件操作 读取一行 f=open("D:\\1.txt",'rb') print f.readline() f.close() 将文件内容保存在一个list with open(& ...

  2. MySQL之索引以及正确使用索引

    一.MySQL中常见索引类型 普通索引:仅加速查询 主键索引:加速查询.列值唯一.表中只有一个(不可有null) 唯一索引:加速查询.列值唯一(可以有null) 组合索引:多列值组成一个索引,专门用于 ...

  3. python 简单爬取今日头条热点新闻(一)

    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...

  4. Huawei-R&S-网络工程师实验笔记20190524-VRP的系统、接口视图下基本操作

    >Huawei-R&S-网络工程师实验笔记20190524-VRP的系统.接口视图下基本操作(重命名.配置IP.VLAN接口.双工模式.console口) >>实验开始,先上 ...

  5. JavaScript学习总结(7)——JavaScript基础知识汇总

  6. TestNG的安装和使用

    一.TestNG安装 打开这个网址:https://marketplace.eclipse.org/content/testng-eclipse#group-external-install-butt ...

  7. Android第三方开源下拉框:NiceSpinner

     Android第三方开源下拉框:NiceSpinner Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Andro ...

  8. Square words(codevs 3301)

    题目描述 Description 定义square words为: 1.长度为偶数. 2.前一半等于后一半. 比如abcabc和aaaa都是square words,但是abcabcab和aaaaa都 ...

  9. iptables防火墙原理详解+mysql pt工具

    http://seanlook.com/2014/02/23/iptables-understand/

  10. HIHO 16 B

    卡了~卡了就写不下去了~其实是不会~ 大牛提醒,答案必定是SUM的因子~细细想了好久,才想通~差距~ 因为是所有的和GCD,所以GCD必定整除SUM.. 然后,枚举这些因子,统计前缀和的MOD,看有多 ...