[PIPython] Re: ordinare un dict complicato

Giovanni Porcari giovanni.porcari
Mer 13 Lug 2005 15:20:37 CEST


Il giorno 13/lug/05, alle ore 13:34, Dall'Olio Giovanni ha scritto:

>
> ehm, scusa :) devo aver sbagliato a fare il reply dalla ML.
>
> Cos'e' 'sorted'? ho visto che e' un nuovo builtin nel python 2.4,  
> pero' purtroppo
> qui sono bloccato alla versione 2.3 (ed e' anche tanto che non sia  
> alla 1.5.2!)
>
> Mi hanno anche consigliato di usare un database, per dizionari  
> costruiti
> in maniera complicata, ma ho gli stessi problemi per installare  
> nuove lib
> (nn ho i diritti di admin ed in ogni caso devo presentare il lavoro  
> su un
> altro comp).
>


Caro Giovanni
non so se può servire, ma noi abbiamo sviluppato un oggetto  
contenitore gerarchico che forse potrebbe esserti utile.

Come le liste è ordinabile e mantiene l'ordine e come i dizionari è  
accessibile per chiave.

La chiave può essere gerarchica e l'accesso è diretto.

from genropy.tools.gnrbag  import Bag

m=Bag()
m['alfa']=1234
m['xxx.yyy.zzz']=789

un path con i punti viene interpretato come una gerarchia e vengono  
generati i sottolivelli necessari.

ogni elemento può essere qualunque oggetto python e ogni nodo è una bag.
zz=m['xxx.yyy']

Le bag può essere caricata automaticamente da xml e può essere  
salvata in xml con comandi opportuni.
ad esempio :

xx=Bag('file:/miofile.xml')    o   zz=Bag('http://python.org')

se vuoi salvare in xml scrivi :

xmlresult=xx.toXml()

Ogni elemento può come in xml avere anche attributi e questo aumenta  
le potenzialità del contenitore.
Le api sono molto ricche e consentono di fare anche ricerche basata  
sul path di un elemento o sugli attributi
con una sintassi molto simile a quella di xquery.

Se sei interssato fammelo sapere che ti mando il link di dove puoi  
trovare il modulo e la documentazione...

Ciao

G.



-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://list.zope.it/pipermail/python/attachments/20050713/47da5185/attachment.html


More information about the Python mailing list