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中去空格函数的用法
Aug 21 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
python 画函数曲线示例
Dec 04 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
opencv 阈值分割的具体使用
Jul 08 Python
Python实现手绘图效果实例分享
Jul 22 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
关于Python错误重试方法总结
Jan 03 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
JavaScript十大取整方法实例教程
2020/12/03 Javascript
python将ansible配置转为json格式实例代码
2017/05/15 Python
python opencv实现图像边缘检测
2019/04/29 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
python regex库实例用法总结
2021/01/03 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书