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

发布时间 - 2026-01-10 23:14:45    点击率:

本文实例讲述了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 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript中的标签模板是什么_它如何扩展字符串功能  javascript基本数据类型及类型检测常用方法小结  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Android自定义控件实现温度旋转按钮效果  Python文件操作最佳实践_稳定性说明【指导】  C#如何调用原生C++ COM对象详解  移动端脚本框架Hammer.js  javascript基于原型链的继承及call和apply函数用法分析  制作旅游网站html,怎样注册旅游网站?  Laravel如何实现多对多模型关联?(Eloquent教程)  Laravel如何使用查询构建器?(Query Builder高级用法)  JavaScript如何实现继承_有哪些常用方法  英语简历制作免费网站推荐,如何将简历翻译成英文?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何快速生成高效建站系统源代码?  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Linux系统命令中screen命令详解  简单实现Android验证码  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  如何在宝塔面板中创建新站点?  WordPress 子目录安装中正确处理脚本路径的完整指南  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何使用Vite进行前端资源打包?(配置示例)  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Linux后台任务运行方法_nohup与&使用技巧【技巧】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel如何发送系统通知?(Notification渠道示例)  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何在IIS中配置站点IP、端口及主机头?  Python函数文档自动校验_规范解析【教程】  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  如何构建满足综合性能需求的优质建站方案?  想要更高端的建设网站,这些原则一定要坚持!  Bootstrap整体框架之CSS12栅格系统  网站优化排名时,需要考虑哪些问题呢?  Laravel如何使用Sanctum进行API认证?(SPA实战)  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程