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 client使用http post 到server端的代码
Feb 10 Python
Python中设置变量访问权限的方法
Apr 27 Python
python的pip安装以及使用教程
Sep 18 Python
Linux 修改Python命令的方法示例
Dec 03 Python
python创造虚拟环境方法总结
Mar 04 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 Python
Python常遇到的错误和异常
Nov 02 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 Python
Python绘制散点图之可视化神器pyecharts
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 保留字列表
2012/10/04 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
php操作xml
2013/10/27 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
Python切片索引用法示例
2018/05/15 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
Python高级property属性用法实例分析
2019/11/19 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
年检委托书
2014/08/30 职场文书
个人培训总结
2015/03/05 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python