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中AND、OR的一个使用小技巧
Feb 18 Python
python实现将内容分行输出
Nov 05 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
Python正则表达式分组概念与用法详解
Jun 24 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
python排序函数sort()与sorted()的区别
Sep 18 Python
浅谈python3.6的tkinter运行问题
Feb 22 Python
Python中遍历列表的方法总结
Jun 27 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
python实现将中文日期转换为数字日期
Jul 14 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
PHP批量生成缩略图的代码
2008/07/19 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
js+html制作简单验证码
2017/02/16 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
python实现给微信公众号发送消息的方法
2017/06/30 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
英国假发网站:Hothair
2018/02/23 全球购物
文明城市创建标语
2014/06/16 职场文书
医学检验专业自荐信
2014/09/18 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2014年检验员工作总结
2014/11/19 职场文书
助学感谢信范文
2015/01/21 职场文书
开会通知
2015/04/20 职场文书
开展警示教育活动总结
2015/05/09 职场文书
校运会新闻稿
2015/07/17 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
Django路由层如何获取正确的url
2021/07/15 Python