如果在一个4G的大文件test.log中提取里面有error的log:

  1. 大家第一想法就是通过打开文件然后每一行的查找,耗时19s

    import  timestart_time = time.time()
    with open('/Users/test/Downloads/test.log') as f:for line in f.readlines():if 'error' in line:print line
    end_time = time.time()
    print "cost time is: ", end_time-start_time#cost time is:  19.1660439968
  2. 列表解析:大多数工作在python解释器内部完成,比等价的语句要快很多,特别是大文件,我们可以看见在相同的大文件中使用列表解析时间为4s,大大提高了效率
    import  timestart_time = time.time()
    lines = [line for line in open('/Users/test/Downloads/test.log') if 'error' in line]
    for line in lines:print line
    end_time = time.time()
    print "cost time is: ", end_time-start_time# cost time is:  4.45141601562

Python 列表解析 大文件相关推荐

  1. python 列表操作详解,Python列表解析操作实例总结

    本文实例讲述了Python列表解析操作.分享给大家供大家参考,具体如下: 列表解析 Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一 ...

  2. Python ElementTree 解析 xml文件

    文章目录 一.xml文件结构 二.基础解析 1.加载文档 2.获取根元素 3.根元素的属性 4.遍历其直接子元素 5.通过索引值来访问特定的子元素 查找需要的元素 三.支持通过XPath查找元素 四. ...

  3. Python语言解析xml文件

    python语言解析xml文件的常用的有两种方式: 通过MiniDom库解析xml文件 通过ElementTree库解析xml文件 MiniDom方式解析xml xml文件以data.xml为例,具体 ...

  4. python列表解析的新方法

    python 列表解析我感觉是python非常灵活的一个地方,一开始接触它的时候,特别是之前学过其它的语言, 你会感觉很不习惯,怎么看怎么不对劲,老是觉的哪个地方怪怪的,这就是列表解析的魔力所在. p ...

  5. 如何在Python中解析YAML文件

    如何在Python中解析YAML文件? #1楼 不依赖C标头的最简单,最纯净的方法是PyYaml( 文档 ): #!/usr/bin/env pythonimport yamlwith open(&q ...

  6. 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )

    文章目录 一.PyCharm 中进行断点调试 二.ELFFile 实例对象分析 一.PyCharm 中进行断点调试 在上一篇博客 [Android 逆向]使用 Python 代码解析 ELF 文件 ( ...

  7. 列表解析python_基于Python列表解析(列表推导式)

    列表解析--用来动态地创建列表 [expr for iter_var in iterable if cond_expr] 例子一: map(lambda x: x**2, range(6)) [0, ...

  8. 用 Python 高效处理大文件

    前言 为了进行并行处理,我们将任务划分为子单元.它增加了程序处理的作业数量,减少了整体处理时间. 例如,如果你正在处理一个大的CSV文件,你想修改一个单列.我们将把数据以数组的形式输入函数,它将根据可 ...

  9. python如何解析PDF文件

    python如何解析PDF文件 python中读取pdf的方法:使用python第三方库pdfminerk3k 1.使用pdfminer库 pdfminer是一个主流的分析pdf的库.如果是pytho ...

最新文章

  1. Java项目:医院预约挂号系统(java+SpringBoot+Maven+Vue+mysql)
  2. 工业视觉检测发展的现状
  3. Java获取当前路径和读取文件
  4. 理解离散傅立叶变换(三.复数)
  5. DL之ResNeXt:ResNeXt算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  6. cpu 抖动_微抖动,繁忙的等待和绑定CPU
  7. 不懂代码,如何做出实时刷新的数据大屏?
  8. python利用字典实现大侠_python实现字符串和字典的转换
  9. pycharm TabError: inconsistent use of tabs and spaces in indentation
  10. PHP___过期header expires
  11. 权限申请弹框_安卓Q | 位置权限三态化解析,用户要关心,开发者须警惕!
  12. Java中关于字符类型在Unicode表中表示
  13. cmos逻辑门传输延迟时间_MOS管设计知识:传输管TG的原理及组合逻辑延时分析
  14. 利用SSM(springmvc+spring+mybatis)实现多表联合查询
  15. python 交叉验证后获取模型_Pysal:如何使用Pysal回归模型进行交叉验证? - python
  16. BZOJ2757 : [SCOI2012]Blinker的仰慕者
  17. ubuntu16.04卸载ceres
  18. 用树莓派4b搭建Terraria服务器
  19. 声学测试软件手机版_免费5G SA测试软件“网络优化资源服务助手”2.0版全新上线,新增多种功能!(附下载方式)...
  20. 太赫兹无线信道的测量、建模和分析

热门文章

  1. 读《About Face 4 交互设计精髓》18
  2. 学了代码之后,对于程序员黑客的区别,我的认识是......
  3. android 9.0 toast不显示,9.0 toast定位+WebDriverWait显示等待
  4. 浅谈Uber与滴滴快的提供差异化服务带来的商业模式思考
  5. 【云栖大会】国家天文台结盟阿里云:计算100亿光年的数字宇宙
  6. Cisco统一智能呼叫中心简介
  7. GC0053-STM32单片机NTC热敏电阻温度采集及控制LCD1602
  8. 安装和使用所见即所得WYSIWYG的 Web 创作软件 BlueGriffon
  9. 预制式智能模块化变电站
  10. Kubernetes学习笔记(二):Pod控制器详解:资源元信息、ReplicaSet、Deployment、DaemonSet、Job、CronJob