最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python處理大日志文件

 更新時間:2019年07月23日 09:06:03   作者:暴走的鵬鵬哥哥  
這篇文章主要為大家詳細介紹了python處理大日志文件的的相關(guān)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python處理大日志文件的具體代碼,供大家參考,具體內(nèi)容如下

# coding=utf-8
import sys
import time
 
class Tail():
 def __init__(self,file_name,callback=sys.stdout.write):
  self.file_name = file_name
  self.callback = callback
 def follow(self,n=10):
  try:
   # 打開文件
   with open(self.file_name) as f:
    self._file = f
    self._file.seek(0,2)
    # 存儲文件的字符長度
    self.file_length = self._file.tell()
    # 打印最后10行
    self.showLastLine(n)
    # 持續(xù)讀文件 打印增量
    while True:
     line = self._file.readline()
     if line:
      self.callback(line)
     time.sleep(1)
  except Exception,e:
   print '打開文件失敗,囧,看看文件是不是不存在,或者權(quán)限有問題'
   print e
 def showLastLine(self, n):
  # 一行大概100個吧 這個數(shù)改成1或者1000都行
  len_line = 100
  # n默認是10,也可以follow的參數(shù)傳進來
  read_len = len_line*n
  # 用last_lines存儲最后要處理的內(nèi)容
  while True:
   # 如果要讀取的1000個字符,大于之前存儲的文件長度
   # 讀完文件,直接break
   if read_len>self.file_length:
    self._file.seek(0)
    last_lines = self._file.read().split('\n')[-n:]
    break
   # 先讀1000個 然后判斷1000個字符里換行符的數(shù)量
   self._file.seek(-read_len, 2)
   last_words = self._file.read(read_len)
   # count是換行符的數(shù)量
   count = last_words.count('\n')
   
   if count>=n:
    # 換行符數(shù)量大于10 很好處理,直接讀取
    last_lines = last_words.split('\n')[-n:]
    break
   # 換行符不夠10個
   else:
    # break
    #不夠十行
    # 如果一個換行符也沒有,那么我們就認為一行大概是100個
    if count==0:
 
     len_perline = read_len
    # 如果有4個換行符,我們認為每行大概有250個字符
    else:
     len_perline = read_len/count
    # 要讀取的長度變?yōu)?500,繼續(xù)重新判斷
    read_len = len_perline * n
  for line in last_lines:
   self.callback(line+'\n')
if __name__ == '__main__':
 py_tail = Tail('test.txt')
 py_tail.follow(20)

 以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python ORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例

    Python ORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例

    這篇文章主要介紹了Python ORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例,簡明入門教程,需要的朋友可以參考下
    2014-06-06
  • Python遠程控制Windows服務(wù)器的方法總結(jié)

    Python遠程控制Windows服務(wù)器的方法總結(jié)

    在信息時代的洪流中,掌握一門編程語言已經(jīng)成為一項必備技能,Python,這門以簡潔、易學、強大著稱的編程語言,更是成為無數(shù)開發(fā)者的大寶劍,今天,我們要探討的就是如何用 Python 遠程控制 Windows 服務(wù)器,需要的朋友可以參考下
    2024-07-07
  • Python property函數(shù)的具體使用

    Python property函數(shù)的具體使用

    property()函數(shù)是Python中用于創(chuàng)建可管理屬性的重要工具,它可以實現(xiàn)數(shù)據(jù)封裝、訪問控制、屬性計算等功能,本文就來介紹一下如何使用,感興趣的可以了解一下
    2024-02-02
  • Python math 模塊完全指南

    Python math 模塊完全指南

    本文主要介紹了Python math 模塊完全指南,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • python用selenium打開瀏覽器后秒關(guān)閉瀏覽器的解決辦法

    python用selenium打開瀏覽器后秒關(guān)閉瀏覽器的解決辦法

    最近朋友在學Selenium的時候遇到一個問題,當執(zhí)行完selenium程序后,瀏覽器會閃退也就是自動關(guān)閉,這篇文章主要給大家介紹了關(guān)于python用selenium打開瀏覽器后秒關(guān)閉瀏覽器的解決辦法,需要的朋友可以參考下
    2023-07-07
  • Python實現(xiàn)將xml導入至excel

    Python實現(xiàn)將xml導入至excel

    本文給大家講解的是使用Python的Testlink實現(xiàn)將實現(xiàn)將xml導入至excel表格中,方法非常的簡單,另外附上其他小伙伴的方法,有需要的童鞋們可以參考下。
    2015-11-11
  • python網(wǎng)絡(luò)爬蟲selenium打開多窗口與切換頁面的實現(xiàn)

    python網(wǎng)絡(luò)爬蟲selenium打開多窗口與切換頁面的實現(xiàn)

    本文主要介紹了python網(wǎng)絡(luò)爬蟲selenium打開多窗口與切換頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python環(huán)境搭建以及Python與PyCharm安裝詳細圖文教程

    Python環(huán)境搭建以及Python與PyCharm安裝詳細圖文教程

    PyCharm是一種PythonIDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,這篇文章主要給大家介紹了關(guān)于Python環(huán)境搭建以及Python與PyCharm安裝的詳細圖文教程,需要的朋友可以參考下
    2024-03-03
  • 查看Django和flask版本的方法

    查看Django和flask版本的方法

    今天小編就為大家分享一篇查看Django和flask版本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python學習筆記之if語句的使用示例

    Python學習筆記之if語句的使用示例

    python的if語句和其他語言有些不同,它沒有用括號來表示代碼塊,而是使用縮進,現(xiàn)在乍聽一下你可能不太明白,所以下面這篇文章主要給大家介紹了關(guān)于Python學習筆記之if語句使用的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10

最新評論

彭阳县| 都江堰市| 班玛县| 青河县| 抚远县| 安远县| 苏尼特右旗| 浏阳市| 五寨县| 祁东县| 丰城市| 台江县| 漳平市| 大荔县| 北川| 德州市| 武定县| 漾濞| 咸丰县| 车致| 余江县| 通州市| 汝阳县| 海伦市| 锡林郭勒盟| 防城港市| 阿图什市| 芜湖市| 吉林市| 仙居县| 响水县| 武清区| 哈巴河县| 黎平县| 建始县| 汝阳县| 阜宁县| 台东县| 镇雄县| 怀集县| 黄山市|