Bonjour,
Je désire créer une application qui me permettra de de récupérer différentes informations contenues dans d'immenses logs au boulot.
Ces logs sont constitués de la manière suivante:
n lignes innintéressantes (n variable)
*MOT CLEF* + données
*listes* (tailles variables mais de la même structure)
*série structurées de données*
*listes*
m lignes innintéressantes (m variables)
le tout avec des tas de lignes vides un peu partout
exemple:
Evidemment, ceci est un exemple que je viens d'inventer... Mes "pages" de logs sont bien plus importantes. C'est du fait de leur grandeur que j'ai besoin de qqch de solide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 blah blah blah blah blah CAR 7 azerty Destination km nb_passagers Lille 14 2 Paris 65 4 Marque: Toyo Chassis: 12344 Portes 5 Pneus: Unir Cylindree: 13 Carb: E Couleur ROuge blah blah blah blah blah blah blah blah CAR 8 qwerty Destination km nb_passagers Lille 16 7 Paris 6 6 Marque: Maz Chassis: 4344 Portes 3 Pneus: Unir Cylindree: 13 Carb: D Couleur Bleue blah blah blah
J'ai écrit en vitesse en python un script permettant de parser ces logs via expressions régulières. Me basant sur la suite logique des éléments des logs.
Néanmoins c'est franchement lent... Peu maintenable, et je dois écrire des tas de regexp et de conditions pour m'assurer que je suis au bon endroit pour "plaquer" telle ou telle regexp afin de récupérer dans la bonne structure les bonnes infos.
Est-ce la meilleure approche? J'ai entendu parler de Lex et Yacc, mais je ne suis pas certain que c'est la méthode la plus facile.
Que me conseillez vous?
Merci pour le coup de main.
JC
Partager