Il metodo digest

Se vogliamo leggere ora non singoli valori o attributi possiamo usare il medoto digest, il quale ritorna una list di tuple che possono includere - Chiavi - Valori - Attributi - Uno specifico attributo

Presi trasversalmente da tutti i nodi della bag, con le seguenti sintassi.

Sintassi

Risultato

'#k'

La label di ciascun nodo

'#v'

Il value di ciascun nodo

'#v.path'

Un valore interno a partire da ciascun nodo

'#a'

Gli attributi di un ciascun nodo

'#a.attributeName'

Un attributo in particolare di ciascun nodo

>>> print b['documents.letters'].digest('#k,#a.createdOn,#a.createdBy')
[('letter_to_sheila', '12-4-2003', 'Walter'), ('letter_to_mark', '10-7-2003', 'Jack'), ('letter_to_john', '11-5-2003', 'Mark')]

In questo esempio abbiamo chiesto:

  • le label con #k

  • Gli attributi createdOn con #a.createdOn

  • Gli attributi createdOn con #a.createdBy

C’è anche un modo di invocare il metodo digest con la sintassi delle parentesi quadre. Bisogna aggiungre dopo il path il carattere ? seguito da d: e poi la consueta codifica della digest in tabella.

>>> print b['documents.letters.?d:#k,#a.createdOn,#a.createdBy']
[('letter_to_sheila', '12-4-2003', 'Walter'), ('letter_to_mark', '10-7-2003', 'Jack'), ('letter_to_john', '11-5-2003', 'Mark')]
>>> print b['documents.letters.?d:#v,#a.createdOn']
[('file0', '10-7-2003'), ('file1', '11-5-2003'), ('file2', '12-4-2003')]

Autore della sezione: Giovanni Porcari