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的Cookie.py模块支持冒号做key的方法
Dec 28 Python
python中的__init__ 、__new__、__call__小结
Apr 25 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 Python
Python3 中把txt数据文件读入到矩阵中的方法
Apr 27 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
Django 批量插入数据的实现方法
Jan 12 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 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
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
javascript之锁定表格栏位
2007/06/29 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
django 2.0更新的10条注意事项总结
2018/01/05 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python重新加载模块的实现方法
2018/10/16 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
创意广告词
2014/03/17 职场文书
单位在职证明书
2014/09/11 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
事业单位个人总结
2015/02/12 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers