Python实现读取文件最后n行的方法

 更新时间:2017年02月23日 12:00:33   作者:design321  
这篇文章主要介绍了Python实现读取文件最后n行的方法,涉及Python针对文件的读取、遍历与运算相关操作技巧,需要的朋友可以参考下

本文实例讲述了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文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 提高python代码运行效率的一些建议

    提高python代码运行效率的一些建议

    这篇文章主要介绍了提高python代码运行效率的一些建议,帮助大家优化python代码,提高运行效率,感兴趣的朋友可以了解下
    2020-09-09
  • Python读写二进制文件的示例详解

    Python读写二进制文件的示例详解

    在Python编程中,我们经常需要处理各种类型的文件,其中包括二进制文件,本文将详细介绍如何使用Python读写二进制文件,并提供一些实际应用的示例,希望对大家有所帮助
    2024-01-01
  • Python3中省略号(...)用法介绍

    Python3中省略号(...)用法介绍

    本文主要介绍了Python3中省略号(...)用法介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python多任务及返回值的处理方法

    python多任务及返回值的处理方法

    今天小编就为大家分享一篇python多任务及返回值的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Flask中提供静态文件的实例讲解

    Flask中提供静态文件的实例讲解

    在本篇文章里小编给大家分享的是一篇关于Flask中提供静态文件的实例及相关知识点详解,有兴趣的朋友们可以跟着学习下。
    2021-12-12
  • python自动化测试selenium定位frame及iframe示例

    python自动化测试selenium定位frame及iframe示例

    这篇文章主要为大家介绍了python自动化测试selenium定位frame及iframe示例的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • 关于Python中 循环器 itertools的介绍

    关于Python中 循环器 itertools的介绍

    循环器是对象的容器,包含有多个对象。通过调用循环器的next()方法 (__next__()方法,在Python 3.x中),循环器将依次返回一个对象。直到所有的对象遍历穷尽,循环器将举出StopIteration错误。这篇文章将对此做一个详细介绍,感兴趣的小伙伴请参考下面文字内容
    2021-09-09
  • Python实现按特定格式对文件进行读写的方法示例

    Python实现按特定格式对文件进行读写的方法示例

    这篇文章主要介绍了Python实现按特定格式对文件进行读写的方法,可实现文件按原有格式读取与写入的功能,涉及文件的读取、遍历、转换、写入等相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 如何使用 python查询Amazon DynamoDB

    如何使用 python查询Amazon DynamoDB

    本文介绍了如何使用Python Boto3在Amazon DynamoDB上查询DynamoDB 表、创建、列出和执行其他 CRUD 活动以及执行其他维护任务,本文给大家介绍的非常详细,需要的朋友参考下
    2023-06-06
  • 详解Python3 pandas.merge用法

    详解Python3 pandas.merge用法

    pandas提供了一组高级的、灵活的、高效的核心函数,能够轻松的将数据规整化。这节主要对pandas合并数据集的merge函数进行详解,感兴趣的朋友跟随小编一起看看吧
    2019-09-09

最新评论