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使用opencv进行人脸识别
Apr 07 Python
Python内置函数reversed()用法分析
Mar 20 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
把pandas转换int型为str型的方法
Jan 29 Python
python的debug实用工具 pdb详解
Jul 12 Python
10分钟用python搭建一个超好用的CMDB系统
Jul 17 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
Python hashlib模块的使用示例
Oct 09 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 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
无线电广播的开始
2002/01/30 无线电
基于PHP与XML的PDF文档生成技术
2006/10/09 PHP
?算你??的 PHP 程式大小
2006/12/06 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
怎么清空javascript数组
2013/05/11 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
pandas的qcut()方法详解
2019/07/06 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
保洁主管岗位职责
2013/11/20 职场文书
应付会计岗位职责
2013/12/12 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技