欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python腳本實(shí)現(xiàn)統(tǒng)計(jì)日志文件中的ip訪(fǎng)問(wèn)次數(shù)代碼分享

 更新時(shí)間:2014年08月06日 10:52:31   投稿:junjie  
這篇文章主要介紹了python腳本實(shí)現(xiàn)統(tǒng)計(jì)日志文件中的ip訪(fǎng)問(wèn)次數(shù)代碼分享,注意此腳本只適用ip在每行開(kāi)頭的日志文件,需要的朋友可以參考下

適用的日志格式:

106.45.185.214 - - [06/Aug/2014:07:38:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-"
171.104.119.22 - - [06/Aug/2014:08:55:01 +0800] "GET / HTTP/1.0" 200 10 "-" "-"
27.31.238.242 - - [06/Aug/2014:09:43:19 +0800] "GET / HTTP/1.0" 200 10 "-" "-"
218.65.202.131 - - [06/Aug/2014:10:33:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-"

以上為nginx的日志,本程序只適合用于IP在開(kāi)頭并用空格分開(kāi)的這種格式。

實(shí)例代碼:

import sys
 
class Log:
 
  def __init__(self, filename,dic,count):
    self.filename = filename
    self.dic=dic
    self.count=count
 
  def parse(self):
    i=1
    f=file(self.filename)
    while True:
      line=f.readline()
      if len(line)==0:
        break
      ip=line.split(' ')
      if ip[0] in dic:
        self.dic[ip[0]]=self.dic[ip[0]]+1
      else:
        self.dic[ip[0]]=i
    soredic=sorted(self.dic.items(), key=lambda d:d[1],reverse=True)
    counts=0;
    for item in soredic:
      if counts==int(self.count):
        break
      print("IP:%s  Total Times: %s"%(item[0],item[1]))
      counts=counts+1
    f.close()
 
if __name__=="__main__":
 
  if len(sys.argv)<3:
    print('usage:log.py log.log toptimes\nexample log.py log.log 20\ncode by iswin')
    sys.exit()
  dic={}
  log=Log(sys.argv[1],dic,sys.argv[2])
  log.parse()    

相關(guān)文章

  • Django+Bootstrap實(shí)現(xiàn)計(jì)算器的示例代碼

    Django+Bootstrap實(shí)現(xiàn)計(jì)算器的示例代碼

    本文主要介紹了Django+Bootstrap實(shí)現(xiàn)計(jì)算器的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python中Django與Echarts的結(jié)合用法圖文詳解

    Python中Django與Echarts的結(jié)合用法圖文詳解

    ECharts是一個(gè)第三方控件,下面這篇文章主要給大家介紹了關(guān)于Python中Django與Echarts的結(jié)合用法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Flask交互基礎(chǔ)(GET、 POST 、PUT、 DELETE)的使用

    Flask交互基礎(chǔ)(GET、 POST 、PUT、 DELETE)的使用

    這篇文章主要介紹了Flask交互基礎(chǔ)(GET、 POST 、PUT、 DELETE)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python進(jìn)階教程之異常處理

    python進(jìn)階教程之異常處理

    這篇文章主要介紹了python進(jìn)階教程之異常處理,在項(xiàng)目開(kāi)發(fā)中,異常處理是不可或缺的,需要的朋友可以參考下
    2014-08-08
  • Python實(shí)現(xiàn)連接FTP并下載文件夾

    Python實(shí)現(xiàn)連接FTP并下載文件夾

    這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)鏈接FTP服務(wù)器,并下載相應(yīng)的文件夾,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03
  • 使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例

    使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例

    今天小編就為大家分享一篇使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • PyCharm無(wú)法調(diào)用numpy(報(bào)錯(cuò)ModuleNotFoundError:No?module?named?'numpy')

    PyCharm無(wú)法調(diào)用numpy(報(bào)錯(cuò)ModuleNotFoundError:No?module?named?&a

    本文主要介紹了PyCharm無(wú)法調(diào)用numpy(報(bào)錯(cuò)ModuleNotFoundError:No?module?named?'numpy'),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python實(shí)現(xiàn)統(tǒng)計(jì)代碼行的方法分析

    Python實(shí)現(xiàn)統(tǒng)計(jì)代碼行的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計(jì)代碼行的方法,結(jié)合實(shí)例形式分析了Python針對(duì)代碼行數(shù)的計(jì)算實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下
    2017-07-07
  • python實(shí)現(xiàn)暗通道去霧算法的示例

    python實(shí)現(xiàn)暗通道去霧算法的示例

    這篇文章主要介紹了python實(shí)現(xiàn)暗通道去霧算法的示例,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下
    2020-09-09
  • python?包實(shí)現(xiàn)?urllib?網(wǎng)絡(luò)請(qǐng)求操作

    python?包實(shí)現(xiàn)?urllib?網(wǎng)絡(luò)請(qǐng)求操作

    這篇文章主要介紹了python包實(shí)現(xiàn)urllib網(wǎng)絡(luò)請(qǐng)求操作,urllib?是?Python?標(biāo)準(zhǔn)庫(kù)中用于網(wǎng)絡(luò)請(qǐng)求的庫(kù),下面urllib的相關(guān)資料介紹,需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論