Bonjour à tous,

je ne suis pas sur d’être au bonne endroit .

voici mon problème :
je fait des scan snmp sur des machines avec Python.
le code python me retourne un dictionnaire qui s'appelle "resultat".
L'objet "resultat" qui contient deux choses une information en clé (qui est assez complexe) et un résultat :

je vous montre un code basique pour lire l'objet 'resultat'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
for cle,valeur in resultat.items():
  Info = cle.split('_')
  Codepostal = Info[0]
  multiplexe =  Info[1]
  mesure =Info[2]
  ip = Info[3]
  voie = Info[4]
  Model = Info[5]
 
#et la valeur = valeur
bon jusqu'ici c'est pas compliqué
avec cette boucle je voudrais organisé ces informations dans un dictionnaire qui soit plus facilement manipulable et même le mettre dans un fichier Json.
et il doit ressembler à ceci :
avec Codepostal, Multiplexe_voie et mesure sont des clés

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Jsonfile ={
 Codepostal:
     {Multiplexe_voie:
           {ip:"xxx", mesure:valeur}
     }
  }
}
pour remplir le fichier Json je fait ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
for cle,valeur in resultat.items():
	print cle + '  ' + valeur
	site = cle.split('_')
	ig = site[0]
	mux = site[1]
	mesure = site[2]
	ip = site[3]
	voie = site[4]
	recepteur = site[5]
	Multiplexes = site[1] + '_' + site[4]
 
	jsonfileV2['data'].setdefault(ig, {})[Multiplexes]=({'ip':ip, mesure:valeur})
et évidement le problème c'est que le fichier Jsonfile ne conserve que la dernière ligne lu

ex:
voici un exemple de résultat
2301301_R2_RfStatus_10.123.38.59_A_Harmonic 1
2301301_R2_margin_10.123.38.59_A_Harmonic 476
2301301_R2_ebn0_10.123.38.59_A_Harmonic 1132
2301301_R2_cn_10.123.38.59_A_Harmonic 1546

et voici ce que me donne la boucle :
Jsonfile['data'] = {"2301301": {"R2_A": {"ip": "10.123.38.59", "cn": "1540"}}

alors que je voudrais avoir ceci :
Jsonfile['data'] = {"2301301": {"R2_A": {"ip": "10.123.38.59", "cn": "1540", "margin": "476", "ebn0":"1132", "RfStatus":"1"}}


avez vous une idée ?