3.17.1 Restrizioni

class Shelf( dict[, protocol=None[, writeback=False[, binary=None]]])
Una sotto classe di UserDict.DictMixin che memorizza valori serializzati in un oggetto dict.

In modo predefinitoe, serializzatori di versione 0 vengono utilizzati per serializzare i valori. La versione di protocollo del serializzatore può venire specificata con il parametro protocol. Vedete la documentazione di pickle per una discussione dei protocolli di serializzazione utilizzati. Modificato nella versione 2.3: Il parametro protocol è stato aggiunto. Il parametro binary è deprecato, e viene fornito solo per compatibilità all'indietro con le versioni precedenti.

Se il parametro writeback è True, l'oggetto manterrà una cache di tutti gli elementi modificati, e li riscriverà in dict al momento in cui avverranno operazioni di sync o close. Questo consente operazioni naturali su elementi modificabili, ma può consumare molta più memoria e rendere molto lunghi i tempi di sync e close.

class BsdDbShelf( dict[, protocol=None[, writeback=False[, binary=None]]])

Una classe derivata di Shelf che mette in rilievo first, next, previous, last e set_location, disponibili nel modulo bsddb ma non negli altri moduli di database. L'oggetto dict passato al costruttore deve supportare quei metodi. Questo viene generalemente effettuato chiamando uno dei seguenti bsddb.hashopen, bsddb.btopen oppure bsddb.rnopen. I parametri facoltativi - protocol, writeback e binary hanno lo stesso significato che nella classe Shelf.

class DbfilenameShelf( filename[, flag='c'[, protocol=None[, writeback=False[, binary=None]]]])

Una sotto classe di Shelf che accetta un nome di file invece che un oggetto come dict. Il file sottostante verrà aperto usando la funzione anydbm.open. In modo predefinito, il file verrà creato e aperto sia in lettura che in scrittura. Il parametro facoltativo flag ha qui lo stesso significato che ha nella funzione open. I parametri facoltativi protocol, writeback e binary hanno qui lo stesso significato che hanno nella classe Shelf.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.