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 :
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 #!/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()
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
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
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
Partager