如何用python最快的获取大文件的最后几行
??????? 工作中經常會遇到處理日志文件的問題:為了得到日志的最新狀態,我們需要獲取日志文件的最后部分行來做判斷。那么,這種情況下我們應該怎么做呢?
???????? 1)常規方法:從前往后依次讀取
????????????? 步驟:open打開日志文件。
????????????????????????? 讀取文件,獲取文件的總行數。
????????????????????????? 遍歷所有行,提取指定行的數據。
????????????? 優點:簡單,方便
????????????? 缺點:當文件大了以后時間太慢,無法忍受
???????? 2)推薦方法:
?????????????? 步驟:open打開日志文件。
????????????????????????? 移動文件讀取指針到文件末尾。
????????????????????????? 從后往前移動指針直到合適的位置。
????????????????????????? 讀取文件,提取指定行的數據。
????????????? 優點:時間相對固定,適合處理大文件
???????? 示例:
logFile = open('logFilePath.log', 'r')logFile.seek(0,2)logFile.seek(-1000000,2)rowCount = 0for 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個字節
轉載于:https://www.cnblogs.com/chenjianhong/p/4144472.html
總結
以上是生活随笔為你收集整理的如何用python最快的获取大文件的最后几行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: soso街景开发——在移动应用(网站)中
- 下一篇: JAVA中extends 与implem