Modèle Python qui effectue une analyse des journaux à une vitesse explosive

Résumé

Pendant le travail, j'analyse souvent ** les journaux au format libre qui sont générés par la machine de développement et placés par quelqu'un d'autre que moi. J'écris le code d'analyse de journal en fonction à chaque fois, mais comme j'ai fait plusieurs fois l'analyse de journal, j'ai mis au point un modèle et une technique qui vont s'améliorer, donc je vais le développer.

Code de modèle

#!/usr/bin/env python3

import sys,re

for line in sys.stdin: #Lire à partir de la sortie standard
    line = line.strip() #Supprimer les espaces et les sauts de ligne au début et à la fin des lignes
    print(line)

Seulement ça!

Le code ci-dessus est écrit en Python3, mais Python2 n'est pas différent sauf que Shebang et la fonction print deviennent des instructions print.

Cas d'utilisation et techniques

Essayez d'analyser et d'agréger les lignes à l'aide du modèle.

#!/usr/bin/env python3

import sys,re #Gère les entrées standard et les expressions régulières

#Les informations qui traversent les lignes sont stockées dans les variables déclarées ici.
hoge_count = 0

#Tournez la boucle ligne par ligne
for line in sys.stdin:
    line = line.strip()
    # print(line) #Pour le débogage, commentez si cela n'est pas nécessaire

    #Si vous recherchez une ligne commençant par une chaîne spécifique, plutôt qu'une expression régulière.startwith()Est pratique
    if line.startswith('hoge'):
      hoge_count += 1

    if line.startswith('fuga'):
      #Si vous voulez vous tourner vers la ligne suivante.readline()Appel
      next_line = sys.stdin.readline().strip()
      print("next to fuga =", next_line)

    #Espaces et séparateurs par virgule.split()utilisation
    if line.startswith('moge'):
       moge_cols = line.split(' ')
       print("moge line cols =", moge_cols)

    #Utiliser des expressions régulières pour les correspondances complexes
    m = re.match('(.*)_muga_(.*)', line)
    if m:
       print("muga line left: ", m.group(1), "right:", m.group(2))

#Sortie du résultat d'agrégation
print("hoge_count =", hoge_count)

Nourrissons cette entrée.

input.txt


hoge1
hoge2
fuga
next fuga
moge 1 2 3
left_muga_right

Courir


$ python3 analyze.py < input.txt

Vous pouvez obtenir cette entrée.

output


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

De même, un code équivalent peut être écrit en Python2.

Résumé

Introduction de modèles de code et de techniques d'analyse des journaux en 5 minutes. Ecrit en Python3, mais c'est également possible en Python2.

Recommended Posts

Modèle Python qui effectue une analyse des journaux à une vitesse explosive
Modèle de prétraitement pour l'analyse des données (Python)
Modèle d'analyse de données Python
Calculer le noyau gaussien à une vitesse explosive même avec python
Python pour l'analyse des données Chapitre 4
Modèle Python pour Codeforces-test manuel-
Python pour l'analyse des données Chapitre 2
[Python] Modèle Pro compétitif [Chez Coder]
Python pour l'analyse des données Chapitre 3
Vitesse explosive! Utilisation de Python Simple HTTP Server pour le développement Kintone
Essayez l'analyse de corrélation multivariée à l'aide du lasso graphique à une vitesse explosive
Créez un robot de notification de pluie pour Hangouts Chat à une vitesse explosive
Outil de visualisation Python pour le travail d'analyse de données
Modèle pour l'écriture de scripts batch en python
[TPU] [Transformers] Faites du BERT à une vitesse explosive
Sortie du journal python
Analyse des données en Python Résumé des sources que les débutants devraient d'abord consulter
Modèle pour créer des applications de ligne de commande en Python
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: chargement des données
Paramètres de journalisation pour la rotation quotidienne des journaux avec python
Vitesse explosive avec Python (bouteille)! Développement d'API Web
Astro: modules / fonctions python fréquemment utilisés pour l'analyse
30/10/2016 else pour Python3> pour:
python [pour moi]
Analyse de données python
python chez docker
modèle argparse python
[Python] Modèle Tkinter
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
[Pour les débutants] Comment étudier le test d'analyse de données Python3
Créez des projets d'apprentissage automatique à une vitesse explosive à l'aide de modèles
Python 3.4 Créer un environnement Windows7-64bit (pour l'analyse des séries chronologiques financières)
Vitesse de lecture Python netCDF4 et imbrication d'instructions for
Implémentez l'API à une vitesse explosive en utilisant Django REST Framework
[CovsirPhy] Package Python COVID-19 pour l'analyse de données: modèle SIR-F
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: analyse des tendances S-R
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: modèle SIR
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: estimation des paramètres
Essayez de résoudre le Sudoku à une vitesse explosive en utilisant Numpy
Effectuez une conversion demi-largeur / pleine largeur à grande vitesse avec Python