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 : 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
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 : 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
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