python 实时遍历日志文件


Posted in Python onApril 12, 2016

open 遍历一个大日志文件

使用 readlines() 还是 readline() ?

总体上 readlines() 不慢于python 一次次调用 readline(),因为前者的循环在C语言层面,而使用readline() 的循环是在Python语言层面。

但是 readlines() 会一次性把全部数据读到内存中,内存占用率会过高,readline() 每次只读一行,对于读取 大文件, 需要做出取舍。

如果不需要使用 seek() 定位偏移, for line in open('file') 速度更佳。

使用 readlines(),适合量级较小的日志文件

import os
import time
def check():
p = 
while True:
f = open("log.txt", "r+")
f = open("result.txt", "a+")
f.seek(p, )
#readlines()方法
filelist = f.readlines()
if filelist:
for line in filelist:
#对行内容进行操作
f.write(line)
#获取当前位置,为下次while循环做偏移
p = f.tell()
print 'now p ', p
f.close()
f.close()
time.sleep()
if __name__ == '__main__':
check()

使用 readline(),避免内存占用率过大

import os
import time
def check():
p = 
while True:
f = open("log.txt", "r+")
f = open("result.txt", "a+")
f.seek(p, )
#while readline()方法
while True:
l = f.readline()
#空行同样为真
if l:
#对行内容操作
f.write(l)
else:
#获取当前位置,作为偏移值
p = f.tell()
f.close()
f.close()
break
print 'now p', p
time.sleep()
if __name__ == '__main__':
check()
Python 相关文章推荐
可用于监控 mysql Master Slave 状态的python代码
Feb 10 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
Python Json序列化与反序列化的示例
Jan 31 Python
python 哈希表实现简单python字典代码实例
Sep 27 Python
python logging添加filter教程
Dec 24 Python
Python post请求实现代码实例
Feb 28 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
Jul 03 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
Python可视化工具如何实现动态图表
Oct 23 Python
Python Django搭建文件下载服务器的实现
May 10 Python
python字符串连接方法分析
Apr 12 #Python
python去除文件中空格、Tab及回车的方法
Apr 12 #Python
Python脚本实现虾米网签到功能
Apr 12 #Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 #Python
用Python写冒泡排序代码
Apr 12 #Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 #Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 #Python
You might like
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
Javascript Math对象
2009/08/13 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
python中单下划线_的常见用法总结
2018/07/10 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
django使用LDAP验证的方法示例
2018/12/10 Python
python pip如何手动安装二进制包
2020/09/30 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
妇科医生自荐信
2013/11/05 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
八年级历史教学反思
2016/02/19 职场文书
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript