如何用python最快的获取大文件的最后几行
2014-04-12 22:23
357 查看
工作中经常会遇到处理日志文件的问题:为了得到日志的最新状态,我们需要获取日志文件的最后部分行来做判断。那么,这种情况下我们应该怎么做呢?
1)常规方法:从前往后依次读取
步骤:open打开日志文件。
读取文件,获取文件的总行数。
遍历所有行,提取指定行的数据。
优点:简单,方便
缺点:当文件大了以后时间太慢,无法忍受
2)推荐方法:
步骤:open打开日志文件。
移动文件读取指针到文件末尾。
从后往前移动指针直到合适的位置。
读取文件,提取指定行的数据。
优点:时间相对固定,适合处理大文件
示例:
seek():移动文件读取指针到指定位置
tell():返回文件读取指针的位置
seek()的三种模式:
(1)f.seek(p,0) 移动当文件第p个字节处,绝对位置
(2)f.seek(p,1) 移动到相对于当前位置之后的p个字节
(3)f.seek(p,2) 移动到相对文章尾之后的p个字节
1)常规方法:从前往后依次读取
步骤:open打开日志文件。
读取文件,获取文件的总行数。
遍历所有行,提取指定行的数据。
优点:简单,方便
缺点:当文件大了以后时间太慢,无法忍受
2)推荐方法:
步骤:open打开日志文件。
移动文件读取指针到文件末尾。
从后往前移动指针直到合适的位置。
读取文件,提取指定行的数据。
优点:时间相对固定,适合处理大文件
示例:
logFile = open('logFilePath.log', 'r') logFile.seek(0,2) logFile.seek(-1000000,2) rowCount = 0 for row in logFile.readlines()[1:]: pass
seek():移动文件读取指针到指定位置
tell():返回文件读取指针的位置
seek()的三种模式:
(1)f.seek(p,0) 移动当文件第p个字节处,绝对位置
(2)f.seek(p,1) 移动到相对于当前位置之后的p个字节
(3)f.seek(p,2) 移动到相对文章尾之后的p个字节
相关文章推荐
- 如何用python最快的获取大文件的最后几行
- 如何用python最快的获取大文件的最后几行
- [Python]如何获取目录下,最后更新的文件
- python 读取文件,获取文件最后一行内容
- 如何使用Python获取某个路径下面所有文件的绝对路径以及其他操作
- 如何获取getevent的输出,并且记录到文件中?使用python操作
- python3按最后访问时间顺序获取文件夹中文件列表
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
- [Python]如何取出一个超大文本文件的最后几行
- 如何获取当前python文件的路径呢?
- [Python]如何取出一个超大文本文件的最后几行
- python中如何获取文件列表
- 在python中,如何获取脚本文件所在路径
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
- 如何用idapython脚本获取字符串窗口的数据并写入文件
- 在python中,如何获取脚本文件所在路径-2
- 在python中,如何获取脚本文件所在路径
- python_如何获取文件状态