Difficulté REGEX tri + "bloc" de tri
Bonjour,
Souhaitant trier un document texte, j'ai pour mission d'utiliser regex mais je me retrouve bloqué par des problèmes que je n'arrive pas à comprendre.
Voici le script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| #!/usr/bin/env python
import re
fich = open('stockage.txt', 'r')
listage = fich.read()
MAC = []
Puissance = []
Pos = []
block = re.compile('Address')
valeurBlock = block.search(listage)
while True :
i = 0
while (valeurBlock) is None:
pui = re.compile('-[0-9]+')
valeurPui = pui.search(listage)
add = re.compile('([A-Z0-9]{2}:){5}[A-Z0-9]{2}')
valeurAdd = add.search(listage)
while(valeurPui):
Puissance.append(str(valeurPui))
valeurPui = pui.search(listage, valeurPui.end())
while(valeurAdd):
MAC.append(valeurAdd)
valeurAdd = add.search(listage, valeurAdd.end())
pos = re.compile('[0-9]+,[0-9]+')
valeurPos = pos.search(listage)
while(valeurPos):
Pos.append(valeurPos)
valeurPos = pos.search(listage, valeurPos.end())
while(i < len(MAC)):
print ("Voila comment cela doit apparaitre", MAC[0], ",", Puissance[0], ",", Pos[1], ",", Pos[0])
i += 1
MAC = []
Puissance = []
Pos = []
fich.close() |
Ainsi que le fichier que je souhaite trier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| Address
Signal
E0:A1:D7:49:74:D4
-69 dBm
72:A1:D7:49:74:D7
-70 dBm
72:A1:D7:49:74:D5
-69 dBm
28:3F:69:CC:E6:1E
-40 dBm
12:27:33:6B:BE:0C
-82 dBm
49.072633333
4.400708333
Address
Signal
E0:A1:D7:49:74:D4
-73 dBm
72:A1:D7:49:74:D7
-73 dBm
72:A1:D7:49:74:D5
-75 dBm
28:3F:69:CC:E6:1E
-35 dBm
12:27:33:6B:BE:0C
-82 dBm
49.072631667
4.40071
Address
Signal
E0:A1:D7:49:74:D4
-69 dBm
72:A1:D7:49:74:D7
-70 dBm
72:A1:D7:49:74:D5
-70 dBm
28:3F:69:CC:E6:1E
-38 dBm
12:27:33:6B:BE:0C
-85 dBm
00:1D:6A:60:C5:B2
-92 dBm
Address
Signal
E0:A1:D7:49:74:D4
-67 dBm
72:A1:D7:49:74:D7
-76 dBm
72:A1:D7:49:74:D5
-77 dBm
28:3F:69:CC:E6:1E
-41 dBm
12:27:33:6B:BE:0C
-85 dBm
00:1D:6A:60:C5:B2
-92 dBm
49.072631667
4.400711667 |
Premièrement : Les listes ne veulent pas se remplir des données que je leur donne, je l'ai remarqué lorsque je devais print les listes en fin de script
Deuxièmement : Je ne comprends pas la manière dont je dois procéder pour décomposer les parties entre les mot 'Address'. Mon objectif est de faire correspondre chaque adresse MAC ainsi que leur puissance à leurs coordonnée géographique latitude et longitude (le 49,xxx et 4.xxx)
Merci