Python-Vorlage, die eine Protokollanalyse mit explosiver Geschwindigkeit durchführt

Zusammenfassung

Während der Arbeit analysiere ich häufig ** Freiformatprotokolle, die von der Entwicklungsmaschine ausgegeben und von einer anderen Person als mir eingegeben werden. Ich schreibe den Protokollanalysecode jedes Mal entsprechend, aber da ich viele Male eine Protokollanalyse durchgeführt habe, habe ich eine Vorlage und eine Technik entwickelt, die sich verbessern, also werde ich sie entwickeln.

Vorlagencode

#!/usr/bin/env python3

import sys,re

for line in sys.stdin: #Aus Standardausgabe lesen
    line = line.strip() #Entfernen Sie Leerzeichen und Zeilenumbrüche am Anfang und Ende von Zeilen
    print(line)

Nur das!

Der obige Code ist in Python3 geschrieben, aber Python2 ist nicht anders, außer dass Shebang und die Funktion "print" zu "print" -Anweisungen werden.

Anwendungsfälle und Techniken

Versuchen Sie, die Zeilen mithilfe der Vorlage zu analysieren und zu aggregieren.

#!/usr/bin/env python3

import sys,re #Verarbeitet Standardeingaben und reguläre Ausdrücke

#Informationen, die Linien überschreiten, werden in den hier deklarierten Variablen gespeichert.
hoge_count = 0

#Drehen Sie die Schleife Zeile für Zeile
for line in sys.stdin:
    line = line.strip()
    # print(line) #Kommentieren Sie zum Debuggen aus, wenn dies nicht erforderlich ist

    #Wenn Sie nach einer Zeile suchen, die mit einer bestimmten Zeichenfolge beginnt, dann nach einem regulären Ausdruck.startwith()Ist bequem
    if line.startswith('hoge'):
      hoge_count += 1

    if line.startswith('fuga'):
      #Wenn Sie in die nächste Zeile schauen möchten.readline()Anruf
      next_line = sys.stdin.readline().strip()
      print("next to fuga =", next_line)

    #Leerzeichen und Komma-Trennzeichen.split()verwenden
    if line.startswith('moge'):
       moge_cols = line.split(' ')
       print("moge line cols =", moge_cols)

    #Verwenden Sie reguläre Ausdrücke für komplexe Übereinstimmungen
    m = re.match('(.*)_muga_(.*)', line)
    if m:
       print("muga line left: ", m.group(1), "right:", m.group(2))

#Ausgabe des Aggregationsergebnisses
print("hoge_count =", hoge_count)

Lassen Sie uns diese Eingabe füttern.

input.txt


hoge1
hoge2
fuga
next fuga
moge 1 2 3
left_muga_right

Lauf


$ python3 analyze.py < input.txt

Sie können diese Eingabe erhalten.

output


next to fuga = next fuga
moge line cols = ['moge', '1', '2', '3']
muga line left:  left right: right
hoge_count = 2

Ebenso kann äquivalenter Code in Python2 geschrieben werden.

Zusammenfassung

Einführung von Codevorlagen und Techniken für die Protokollanalyse in 5 Minuten. Geschrieben in Python3, aber es ist auch in Python2 möglich.

Recommended Posts

Python-Vorlage, die eine Protokollanalyse mit explosiver Geschwindigkeit durchführt
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Python-Datenanalysevorlage
Berechnen Sie den Gaußschen Kernel auch mit Python mit explosiver Geschwindigkeit
Python für die Datenanalyse Kapitel 4
Python-Vorlage für Codeforces-manuelle Test-
Python für die Datenanalyse Kapitel 2
[Python] Competitive Pro-Vorlage [At Coder]
Python für die Datenanalyse Kapitel 3
Explosive Geschwindigkeit! Verwenden von Python Simple HTTP Server für die Kintone-Entwicklung
Versuchen Sie eine multivariate Korrelationsanalyse mit grafischem Lasso bei explosiver Geschwindigkeit
Erstellen Sie einen Regenbenachrichtigungs-Bot für Hangouts Chat mit explosiver Geschwindigkeit
Python-Visualisierungstool für die Datenanalyse
Vorlage zum Schreiben von Batch-Skripten in Python
[TPU] [Transformatoren] Machen Sie BERT mit explosiver Geschwindigkeit
Python-Protokoll ausgeben
Datenanalyse in Python Zusammenfassung der Quellen, die Anfänger zuerst betrachten sollten
Vorlage zum Erstellen von Befehlszeilenanwendungen in Python
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Laden von Daten
Protokollierungseinstellungen für die tägliche Protokollrotation mit Python
Explosive Geschwindigkeit mit Python (Flasche)! Web-API-Entwicklung
Astro: Häufig verwendete Python-Module / -Funktionen zur Analyse
2016-10-30 sonst für Python3> für:
Python [für mich]
Datenanalyse Python
Python bei Docker
Python Argparse Vorlage
[Python] Tkinter-Vorlage
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
Erstellen Sie maschinelle Lernprojekte mit explosiver Geschwindigkeit mithilfe von Vorlagen
Python 3.4 Windows7-64bit-Umgebung erstellen (für die Analyse finanzieller Zeitreihen)
Python netCDF4 Lesegeschwindigkeit und Verschachtelung von for-Anweisungen
Implementieren Sie die API mit explosiver Geschwindigkeit mithilfe des Django REST Framework
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: SIR-F-Modell
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: S-R-Trendanalyse
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: SIR-Modell
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Parameterschätzung
Versuchen Sie, Sudoku mit explosiver Geschwindigkeit mit Numpy zu lösen
Führen Sie mit Python eine Konvertierung in halber und voller Breite mit hoher Geschwindigkeit durch