python 读取大文件_Python读取大文件
1. 前言
前几天在做日志分析系统,需要处理几十G的文件,我尝试用原来的for line in open(filepath).readlines()处理,但停顿好久也没变化,可见占用不小的内存。在网上搜索了下,找到了两种方法来读取大文件。
2. with读取大文件
with读取是非常Pythonic的方法,示例如下:
with open(filepath) as f:
for line in f:
这个方法是在Stackoverflow上找到,这位高手对with读取的解释是这样的:
The with statement handles opening and closing the file, including if an exception is raised in the inner block. The for line in f treats the file object f as an iterable, which automatically uses buffered IO and memory management so you don't have to worry about large files.
大意就是with负责处理open和close文件,包括抛出内部异常。而for line in f将文件对象f当做迭代对象,将自动处理IO缓冲和内存管理,这样你无需担心大文件的处理了。
3. fileinput处理
用到了Python的fileinput模块,亲测也毫无卡顿,示例代码如下:
import fileinput
for line in fileinput.input(['sum.log']):
print line
4. 总结
以上两种方法都亲测可用,明显第一种更Pythonic,无需import,而且还能处理close和Exception,更推荐使用。
python 读取大文件_Python读取大文件相关推荐
- python不同数据的读入_python读写不同编码txt文件_python读写txt文件
python读写不同编码txt文件_python读写txt文件 以后整理规范 [python] view plaincopy import os import codecs filenames=os. ...
- python回到首行_python读取文件首行和最后一行
python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...
- python读取手机文件_python 读取 网络 文件
Python之pandas数据加载.存储 Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 ...
- python读视频文件_python读取和保存视频文件
如何用python实现视频关键帧提取并保存为图片?也许你会觉得对小编多做一点事你会觉得你很爽,可是在小编看来这是不屑的 import cv2vc = cv2.VideoCapture('Test.av ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- python print(len(pi_string))_Python如何从文件中读取数据
从文件中读取数据 1. 读取整个文件 要读取文件,首先来创建一个文件: 然后打开并读取这个文件,再将其内容显示到屏幕上:file_reader.py with open('pi_digits.txt' ...
- python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件
python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...
- python如何创建文件_python中创建文件、读取文件内容
1.选择文件夹,单击右键,点击New -> Python file 2.命名好之后,如我命的就是创建文件. 3.文件命名好了以后,可以编辑代码 如: nf=open("pi_digit ...
- python将数据写入xml文件_python读取/创建XML文件
Python中定义了很多处理XML的函数,如xml.dom,它会在处理文件之前,将根据xml文件构建的树状数据存在内存.还有xml.sax,它实现了SAX API,这个模块牺牲了便捷性,换取了速度和减 ...
最新文章
- 看看大网站到底是如何保障网络安全的
- 【POJ】3268 Silver Cow Party (将有向图的边反转)
- 基本函数依赖和候选键_5G 通信候选波形的设计和评测解决方案
- Linux内核 sysctl.conf 优化设置
- 从零开始带你一步一步使用YOLOv3测试自己的数据
- bootstrap table入门例子
- [C++/CLI编程宝典][5]编译与反汇编
- php是fast_cgi模式,cpanel中的php运行方式使用fast-cgi模式的配置方法
- 【原】数据库排序规则导致的问题
- 六个好用的程序员开发在线工具
- 帮助干活,朋友馈赠了购物卡
- 计算机桌面图片查看,在CAD看图中如何快速的打开电脑桌面上的图纸进行预览查看...
- 锁定和隐藏Excel公式
- 华为开启管理员模式_华为root权限怎么开启,详细的步骤以及图文教程
- 马尔可夫决策过程和贝尔曼方程
- 微信为什么使用 SQLite 保存聊天记录
- 用友OA/NC/NCCloud漏洞集合
- 如何关闭移动硬盘的自动休眠功能
- 必须来GeekPwn的十大理由
- HNUCM-2022年秋季学期《算法分析与设计》练习9
热门文章
- 二叉搜索树(BFS)总结
- 【Python】函数外定义变量并在函数内进行更新
- 【随笔】深度学习的数据增强还分在线和离线?
- [云炬创业学笔记]第一章创业是什么测试9
- *** FATAL ERROR: too many grib files .. 1st=F:\data\预测数据 2nd=- ***
- 比较两个二维数组是否相等
- FFmpeg中实现对多媒体信息的获取与打印av_dump_format
- Java获得随机数字
- 在 Windows 上部署 gitblit
- 如何告别半途而废——韦东山嵌入式Linux视频学习笔记00