本文实例讲述了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读取文件第n行-Python实现读取文件最后n行的方法相关推荐

  1. python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...

    Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 :This is line 1. Thi ...

  2. python读取文件第n行-python读取文件第n行

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. pos = pos - 1 try: f.seek(pos, 2) #从 ...

  3. python 文件指定位置写入-Python从文件中读取指定的行以及在文件指定位置写入...

    Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 :This is line 1. Thi ...

  4. python修改指定行,python读取文件的指定行并修改

    文件是python最常操作的对象,先看文件,格式固定,每6行一组,且最后一行为空行,这是Python脚本从接口文档上取下来的数据,按固定格式自动生成的RF关键字脚本,由于接口有重复,直接用的话会报错( ...

  5. python比较文件每行长度_读取文件并查找所有行的长度是否相同

    首先,您可以读取文件,这里example.txt,并将所有行放入一个列表中,content:with open(filename) as f: content = f.readlines() 下一步, ...

  6. python按行读取csv文件_python.csv 按行按列读取

    #header=0,表示文件第0行为列索引 #index_col=0,表示文件第0列为行索引 userTable=pd.read_csv('./data/preprefe_%s.csv'%str(i) ...

  7. python读取txt文件的行数_python读取txt文件符合条件的行数-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 关系网图 pyth ...

  8. python中readlines函数用法_Python readline和readlines函数:按行读取文件

    如果程序要读取行,通常只能用文本方式来读取,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念. 文件对象提供了如下两个方法来读取行: readline([n]):读取一行内容.如果指定 ...

  9. python xlwt写入数据超过范围限制_用xlrd包读取Excel文件-尽量不用xlwt包写入Excel文件最多能支持65536行数据。...

    1. 引有包 import xlrd1 打开文件 data = good_ivy = xlrd.open_workbook(r'商品库存.xls')1 2 获取你要打开的sheet文件 # table ...

  10. python怎么读取txt文件并统计其字数-python计算文件的行数和读取某一行内容的实现方法...

    一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(o ...

最新文章

  1. Qt-qwidget项目入门实例
  2. 【教程】从人脸检测与比对,实测七牛云人脸核验 API
  3. U-LINK2 升级后低版本不识别问题
  4. sql server 迁移 mysql_sql server 迁移到 mysql
  5. Tensorflow学习笔记(三)
  6. linux 复制代码 多出了很多空格_最基础Linux(一)——简单命令行操作
  7. 机房收费系统重构版:照葫芦画瓢
  8. (转) Lua: 给 Redis 用户的入门指导
  9. 自动生成相机标定轨迹
  10. IIS 7.5配置PHP更容易!
  11. [你的灯亮着吗]读书笔记
  12. ArrayList概述
  13. Autodesk正在招聘Civil、Infraworks金牌支持工程师(Premium Support Specialist)
  14. x11获得窗口名的代码
  15. 什么软件测试情侣头像,在线识别情侣头像
  16. 2022新版起点云码支付 带云端支持云端授权域名代理
  17. 自媒体文章采集工具,采集多个平台的文章
  18. golang 微信小程序登录
  19. 巴旦木即将成为农业的下一个“风口”河南巴旦木生态农业:值得期待
  20. 可以降低汽车气缸里面的机油由于摩擦产生的蓝烟的机油添加剂

热门文章

  1. UIWebView执行JS语句
  2. streaming优化:spark.default.parallelism调整处理并行度
  3. zoj 1152 A Mathematical Curiosity
  4. 剑指offer(19): 顺时针打印矩阵
  5. 最短路模板 - Floyd / Dijkstra
  6. Hibernate简答题
  7. 在ionic/cordova中使用极光推送插件(jpush)
  8. 如何优化 Java 性能?
  9. link2005 重复定义错误
  10. SWFUpload上传文件组件,跨域上传文件