Besoin d'aide pour. Avoir une liste de données nommée arglist, exemple: ['dlink', 'des', '1210', 'c', 24] <- c'est ce que "imprimer" vues.
Et ce code:
sw_info ={"Brand":arglist[0],
"Model":arglist[1],
"Hardware":arglist[2],
"Software":arglist[3],
"Portsnum":arglist[4]}
print json.dumps(sw_info, open("test", "w"))
z = json.loads(open("test", "r"))
print s
Il donne:
Traceback (most recent call last):
File "parsetest.py", line 34, in <module>
z = json.loads(open("test", "r"))
File "/usr/lib64/python2.6/site-packages/simplejson/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.6/site-packages/simplejson/decoder.py", line 335, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
Qu'est-ce qui ne va pas?
Vous essayez de charger un objet fichier, lorsque json.loads attend une chaîne. Vous pouvez soit utiliser
z = json.loads(open("test", "r").read())
ou bien mieux:
with open("test") as f:
z = json.load(f)
Dans le premier exemple, le fichier est ouvert, mais jamais fermé (mauvaise pratique). Dans le deuxième exemple, le gestionnaire de contexte ferme le fichier après avoir quitté le bloc de contexte.