没有合适的资源?快使用搜索试试~ 我知道了~
首页Python实现读取文件最后n行的方法
资源详情
资源评论
资源推荐

Python实现读取文件最后实现读取文件最后n行的方法行的方法
主要介绍了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()




















weixin_38656989
- 粉丝: 2
- 资源: 936
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0