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

python實(shí)現(xiàn)按關(guān)鍵字篩選日志文件

 更新時(shí)間:2019年12月24日 10:18:12   作者:變異的小江江  
今天小編大家分享一篇python實(shí)現(xiàn)按關(guān)鍵字篩選日志文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

最近忙成了狗,五六個(gè)項(xiàng)目堆在一起,頭疼的是測(cè)試還失驚無神的給我丟來一個(gè)幾十甚至上百M(fèi)的日志文件,動(dòng)不動(dòng)就幾十上百萬行,就算是搜索也看得頭昏眼花的,因此自己花了點(diǎn)時(shí)間寫了一段小腳本去過濾日志,當(dāng)然這樣的東西網(wǎng)上應(yīng)該大把,但是還是想自己搞下,權(quán)當(dāng)學(xué)習(xí)!

#!/usr/bin/python
# -*- encoding: utf-8 -*-
# version 1.0
import re
import time
 
'''
用于篩選日志文件,適用于python2.x版本
使用時(shí)將日志文件放于search.py工具同一目錄
篩選完畢后會(huì)出現(xiàn)“舊文件名+當(dāng)前時(shí)間”格式命名的新日志文件
'''
 
 
def getParameters():
  file_name = ""
  key_work = ""
  while (True):
    file_name = raw_input("請(qǐng)輸入文件名:")
    key_work = raw_input("請(qǐng)輸入過濾關(guān)鍵字:")
    if len(file_name) == 0 or len(key_work) == 0:
      flag = raw_input("您輸入的文件名或關(guān)鍵子為空,輸出c重試,q退出程序:")
      if flag == "q":
        return
      elif flag == "c":
        continue
    else:
      break
 
  new_file = file_name + "-" + formatTime(time.localtime())
  f = open("./" + file_name, "rb")
  lines = f.readlines()
 
  if len(lines) == 0:
    print("========日志文件為空========")
    f.close()
    return
 
  nf = open("./" + new_file, "wb");
  count = 0
  for line in lines:
    rs = re.search(key_work, line)
    if rs:
      print("[命中]--->%s" % line)
      nf.write(line)
      count = count + 1
 
  f.close()
  nf.close()
  print("共找到%d條信息" % count)
 
 
def formatTime(timevalue):
  '''
  format the time numbers
  '''
  return time.strftime("%Y%m%d%H%M%S", timevalue)
 
 
if __name__ == '__main__':
  getParameters()
 
 
 

說明:這段腳本我是直接在終端上./xxxx.py的方式運(yùn)行的,我終端由于編譯android源碼需要裝的是python2.7.6,在python3上運(yùn)行估計(jì)會(huì)有問題。

好了,下面是我測(cè)試了下的賽選結(jié)果:

當(dāng)然,這只針對(duì)單個(gè)文件而已!

以上這篇python實(shí)現(xiàn)按關(guān)鍵字篩選日志文件就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Python提取文本中含有特定字符串的方法示例

    使用Python提取文本中含有特定字符串的方法示例

    這篇文章主要給大家介紹了關(guān)于如何使用Python提取文本中含有特定字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例

    python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例

    這篇文章主要介紹了python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例,大家參考使用吧
    2014-01-01
  • python之線程池map()方法傳遞多參數(shù)list

    python之線程池map()方法傳遞多參數(shù)list

    這篇文章主要介紹了python之線程池map()方法傳遞多參數(shù)list問題,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 如何利用Python將html轉(zhuǎn)為pdf、word文件

    如何利用Python將html轉(zhuǎn)為pdf、word文件

    網(wǎng)絡(luò)上存在很多將HTML轉(zhuǎn)換為PDF的軟件和工具,但是大家都知道收費(fèi),所以下面這篇文章主要給大家介紹了關(guān)于如何利用Python將html轉(zhuǎn)為pdf、word文件的相關(guān)資料,文中通過示例代碼介紹介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python報(bào)錯(cuò):OSError:?[Errno?22]?Invalid?argument解決方案及應(yīng)用實(shí)例

    Python報(bào)錯(cuò):OSError:?[Errno?22]?Invalid?argument解決方案及應(yīng)用實(shí)例

    最近跑別人的項(xiàng)目遇到一個(gè)這樣的問題一開始以為是沒有用管理員的權(quán)限運(yùn)行,導(dǎo)致創(chuàng)建不了日志文件后來發(fā)現(xiàn)是和windows的命名規(guī)則沖突了,這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò):OSError:?[Errno?22]?Invalid?argument的解決方案及應(yīng)用實(shí)例,需要的朋友可以參考下
    2024-07-07
  • pandas 層次化索引的實(shí)現(xiàn)方法

    pandas 層次化索引的實(shí)現(xiàn)方法

    這篇文章主要介紹了pandas 層次化索引的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • pyspark操作MongoDB的方法步驟

    pyspark操作MongoDB的方法步驟

    這篇文章主要介紹了pyspark操作MongoDB的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例

    pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例

    今天小編就為大家分享一篇pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python基礎(chǔ)學(xué)習(xí)之遞歸函數(shù)知識(shí)總結(jié)

    python基礎(chǔ)學(xué)習(xí)之遞歸函數(shù)知識(shí)總結(jié)

    在函數(shù)中調(diào)用函數(shù)自身,我們把這樣的函數(shù)叫做遞歸函數(shù), 遞歸函數(shù)就是循環(huán)的調(diào)用,類似于俄羅斯套娃,本文給各位小伙伴詳細(xì)介紹了python遞歸函數(shù),需要的朋友可以參考下
    2021-05-05
  • python re正則表達(dá)式模塊(Regular Expression)

    python re正則表達(dá)式模塊(Regular Expression)

    Python 的 re 模塊(Regular Expression 正則表達(dá)式)提供各種正則表達(dá)式的匹配操作,在文本解析、復(fù)雜字符串分析和信息提取時(shí)是一個(gè)非常有用的工具.
    2014-07-07

最新評(píng)論