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 相关文章推荐
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
Python判断两个对象相等的原理
Dec 12 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
代码实例讲解python3的编码问题
Jul 08 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
pytorch的batch normalize使用详解
Jan 15 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
Python tkinter制作单机五子棋游戏
Sep 14 Python
Django实现翻页的示例代码
May 24 Python
如何利用opencv判断两张图片是否相同详解
Jul 07 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中读取和写入WORD文档的代码
2008/04/09 PHP
说明的比较细的php 正则学习实例
2008/07/30 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
htm调用JS代码
2007/03/15 Javascript
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
Track Image Loading效果代码分析
2007/08/13 Javascript
Ext 表单布局实例代码
2009/04/30 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
Python深入学习之内存管理
2014/08/31 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
Python面向对象实现方法总结
2020/08/12 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
合伙协议书范本
2014/04/21 职场文书
节约能源标语
2014/06/17 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
2015年除四害工作总结
2015/07/23 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js