Sie können mit Punkten auf die Elemente des Wörterbuchs zugreifen. So was.
d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
print d.foo
print d.bar.x
#Ausgabe 3
#Ausgabe 1
Ich habe es mit Windows7 (Python 2.7-Serie) versucht.
Es ist hier. https://github.com/makinacorpus/easydict Spiel mit dem lies mich hier.
Installation python setup.py install easy_install easyjson In der Zwischenzeit hinzufügen.
Fehler bei der Eingabe von Japanisch in den Schlüssel. Fehler auch wenn zitiert. Irgendwann könnte dies möglich sein ... Japanisch kann an den Wert übergeben werden.
Könnte so verwendet werden ... EasyDict of Readme scheint in diesem Fall nutzlos zu sein, es sei denn, es ist alles ein Edikt.
Prüfung
code
from easydict import EasyDict as edict
from simplejson import loads
#from prettyprint import pp
d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
print d.foo
print d.bar.x
#Ausgabe 3
#Ausgabe 1
j = """{
"Buffer": 12,
"name":"Allegra",
"List1": [
{"type" : "point", "coordinates" : [100.1,54.9] },
{"type" : "point", "coordinates" : [109.4,65.1] },
{"type" : "point", "coordinates" : [115.2,80.2] },
{"aaa" : "Punkt", "coordinates" : [150.9,97.8] }
]
}"""
d = edict(loads(j))
print d.Buffer
print d.name
print d.List1[0].coordinates[1]
print d.List1[3].aaa
#pp(d)
#Ausgabe 12
#Ausgabe Allegra
#Ausgabe 54.9
#Ausgabepunkt
b = edict()
b.debug = True
b.foo = 7
b.zzz = u"Gundam"
print b.items()
#Ausgabe[('debug', True), ('foo', 7), ('log', False), ('zzz', u'\u30ac\u30f3\u30c0\u30e0')]
#Gundam ausgeben
class Flower(edict):
power = 1
f = Flower({'height': 12})
print f.power
print f['power']
print f.items()
#Ausgabe 1
#Ausgabe 1
#Ausgabe[('power', 1), ('height', 12)]
Recommended Posts