Python实现读取文件最后n行的方法


Posted in Python onFebruary 23, 2017

本文实例讲述了Python实现读取文件最后n行的方法。分享给大家供大家参考,具体如下:

# -*- coding:utf8-*-
import os
import time
import datetime
import math
import string
def get_last_line(inputfile) :
 filesize = os.path.getsize(inputfile)
 blocksize = 1024
 dat_file = open(inputfile, 'r')
 last_line = ""
 lines = dat_file.readlines()
 count = len(lines)
 if count>60:
   num=60
 else:
   num=count
 i=1;
 lastre = []
 for i in range(1,(num+1)):
   if lines :
     n = -i
     last_line = lines[n].strip()
     #print "last line : ", last_line
     dat_file.close()
     #print i
     lastre.append(last_line)
 return lastre
#获取最后一行的结果
re = get_last_line('../update/log/rtime/rtime20130805.log')
print len(re)
for n in re:
  strlist = n.split('  ')
  if strlist[1] == 'ok' and string.atoi(strlist[2])>1000:
     print '数据条数正常'
     print 'OK'
  else:
     print '数据太少,检查发邮件'

以上处理和日志文件格式为

2013-08-05 16:09:30  ok  1673
2013-08-05 16:10:34  ok  1628
2013-08-05 16:11:55  ok  71
2013-08-05 16:13:02  ok  1441
2013-08-05 16:14:06  ok  1634
2013-08-05 16:15:10  ok  1717
2013-08-05 16:16:14  ok  1687
2013-08-05 16:17:18  ok  1642
2013-08-05 16:18:27  ok  1655
2013-08-05 16:19:33  ok  1655

读取最后一行:

#返回文件最后一行函数
def get_last_line(inputfile) :
 filesize = os.path.getsize(inputfile)
 blocksize = 1024
 dat_file = open(inputfile, 'r')
 last_line = ""
 if filesize > blocksize :
   maxseekpoint = (filesize // blocksize)
   dat_file.seek((maxseekpoint-1)*blocksize)
 elif filesize :
   #maxseekpoint = blocksize % filesize
   dat_file.seek(0, 0)
 lines = dat_file.readlines()
 if lines :
   last_line = lines[-1].strip()
 #print "last line : ", last_line
 dat_file.close()
 return last_line

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 Python
基于python OpenCV实现动态人脸检测
May 25 Python
Python3对称加密算法AES、DES3实例详解
Dec 06 Python
python直接获取API传递回来的参数方法
Dec 17 Python
对python 通过ssh访问数据库的实例详解
Feb 19 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
Python表达式的优先级详解
Feb 18 Python
python游戏开发的五个案例分享
Mar 09 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
Pandas 数据编码的十种方法
Apr 20 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 #Python
Python命令启动Web服务器实例详解
Feb 23 #Python
Python 基础教程之包和类的用法
Feb 23 #Python
python安装oracle扩展及数据库连接方法
Feb 21 #Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 #Python
Python实现字符串格式化的方法小结
Feb 20 #Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 #Python
You might like
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
python统计cpu利用率的方法
2015/06/02 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
如何将json数据转换为python数据
2020/09/04 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
市场营销求职信范文
2014/02/21 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
dubbo服务整合zipkin详解
2021/07/26 Java/Android