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 相关文章推荐
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
python3在同一行内输入n个数并用列表保存的例子
Jul 20 Python
Django url,从一个页面调到另个页面的方法
Aug 21 Python
Python实现把类当做字典来访问
Dec 16 Python
PyCharm下载和安装详细步骤
Dec 17 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
django 解决扩展自带User表遇到的问题
May 14 Python
python调用百度API实现人脸识别
Nov 17 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 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
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
jquery中动态效果小结
2010/12/16 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
Python 修改列表中的元素方法
2018/06/26 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
介绍一下Python中webbrowser的用法
2013/05/07 面试题
应聘自荐信
2013/12/14 职场文书
中考标语大全
2014/06/05 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
禁毒心得体会范文
2016/01/15 职场文书
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL