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读取注册表中值的方法
Apr 08 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
Python3.x中自定义比较函数
Apr 24 Python
使用python实现生成用户信息
Mar 20 Python
Python中查看文件名和文件路径
Mar 31 Python
Python变量赋值的秘密分享
Apr 03 Python
Python面向对象之继承和组合用法实例分析
Aug 27 Python
pandas通过loc生成新的列方法
Nov 28 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
django 外键创建注意事项说明
May 20 Python
如何用tempfile库创建python进程中的临时文件
Jan 28 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
swfupload 多文件上传实现代码
2008/08/27 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
Python适配器模式代码实现解析
2019/08/02 Python
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
一些.net面试题
2014/10/06 面试题
ajax是什么及其工作原理
2012/02/08 面试题
2014学年自我鉴定
2014/02/23 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
培训班开班主持词
2015/07/02 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
Python学习之迭代器详解
2022/04/01 Python
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS