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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值