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获取当前时间的方法
Jan 14 Python
python排序方法实例分析
Apr 30 Python
python skimage 连通性区域检测方法
Jun 21 Python
python使用webdriver爬取微信公众号
Aug 31 Python
windows下numpy下载与安装图文教程
Apr 02 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
jupyter notebook实现显示行号
Apr 13 Python
Pytorch数据拼接与拆分操作实现图解
Apr 30 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
Python unittest生成测试报告过程解析
Sep 08 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 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
cookie的secure属性详解
2015/04/08 Javascript
javascript常用的方法整理
2015/08/20 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
python进行两个表格对比的方法
2018/06/27 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
实例讲解Python3中abs()函数
2019/02/19 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
股份合作协议书
2014/04/12 职场文书
环保建议书300字
2014/05/14 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android