全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

本文实例讲述了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  # 读取  # 文件  # 最后n行  # python逐行读取文件内容的三种方法  # Python按行读取文件的简单实现方法  # Python3读取文件常用方法实例分析  # Python linecache.getline()读取文件中特定一行的脚本  # Python用list或dict字段模式读取文件的方法  # 解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题  # 分析Python读取文件时的路径问题  # Python读取文件内容的三种常用方式及效率比较  # python2.7读取文件夹下所有文件名称及内容的方法  # python多线程分块读取文件  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 太少  # 更多关于  # 所述  # 发邮件  # 程序设计  # 使用技巧  # 文本文件  # 条数  # 格式为  # 编程技巧  # 讲述了  # len  # count  # lines 


相关文章: 网站代码制作软件有哪些,如何生成自己网站的代码?  如何快速打造个性化非模板自助建站?  C#怎么创建控制台应用 C# Console App项目创建方法  实现点击下箭头变上箭头来回切换的两种方法【推荐】  导航网站建站方案与优化指南:一站式高效搭建技巧解析  如何在服务器上三步完成建站并提升流量?  网站企业制作流程,用什么语言做企业网站比较好?  如何在云服务器上快速搭建个人网站?  如何在阿里云ECS服务器部署织梦CMS网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何零成本快速生成个人自助网站?  宝塔新建站点为何无法访问?如何排查?  如何获取上海专业网站定制建站电话?  已有域名和空间如何搭建网站?  名字制作网站免费,所有小说网站的名字?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  网站专业制作公司有哪些,做一个公司网站要多少钱?  表情包在线制作网站免费,表情包怎么弄?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  TestNG的testng.xml配置文件怎么写  电商网站制作公司有哪些,1688网是什么意思?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何快速上传自定义模板至建站之星?  个人网站制作流程图片大全,个人网站如何注销?  如何在Windows 2008云服务器安全搭建网站?  兔展官网 在线制作,怎样制作微信请帖?  如何通过WDCP绑定主域名及创建子域名站点?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  C++时间戳转换成日期时间的步骤和示例代码  高端建站如何打造兼具美学与转化的品牌官网?  网站制作软件有哪些,制图软件有哪些?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何在七牛云存储上搭建网站并设置自定义域名?  股票网站制作软件,网上股票怎么开户?  如何零基础开发自助建站系统?完整教程解析  如何在云指建站中生成FTP站点?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  网站制作企业,网站的banner和导航栏是指什么?  建站主机选哪家性价比最高?  如何在万网主机上快速搭建网站?  如何实现建站之星域名转发设置?  建站之星如何助力企业快速打造五合一网站?  C++如何使用std::optional?(处理可选值)  东莞专业制作网站的公司,东莞大学生网的网址是什么?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何正确下载安装西数主机建站助手?  建站中国官网:模板定制+SEO优化+建站流程一站式指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。