Disponibilit�: Unix.
Questo modulo � piuttosto simile a dbm,
ma utilizza al suo posto gdbm per fornire qualche funzionalit� aggiuntiva.
Notate che i formati dei file creati da gdbm e dbm sono
incompatibili.
Il modulo gdbm fornisce un'interfaccia per la libreria GNU
DBM. Gli oggetti gdbm si comportano come mappe (dizionari),
tranne per il fatto che chiavi e valori sono sempre
stringhe. Stampando un oggetto gdbm non vengono stampati chiavi
e valori, ed i metodi items() e values() non vengono
supportati.
Il modulo definisce le seguenti costanti e funzioni:
gdbm, come un errore di I/O.
In caso di errori generali di mappatura, come lo specificare un chiave non corretta,
viene sollevata un'eccezione KeyError.
| filename, [flag, [mode]]) |
gdbm e restituisce un oggetto gdbm.
L'argomento filename � il nome del file del database.
L'argomento facoltativo flag pu� essere
'r' (per aprire un database esistente in sola lettura -- predefinito),
'w' (per aprire un database esistente in lettura e scrittura),
'c' (per creare un database se non esiste) o
'n' (che crea sempre un nuovo database vuoto).
I seguenti caratteri addizionali possono essere inseriti a seguito dell'opzione per controllare in che modo il database venga aperto:
'f' -- Apre il database in modalit� veloce. La scrittura
nel database non sar� sincronizzata.
's' -- Modalit� sincronizzata. Questo provocher�
l'immediata scrittura sul file delle modifiche al database.
'u' -- Non blocca il database.
Non tutte le opzioni sono valide per tutte le versioni di gdbm.
La costante di modulo open_flags � una stringa contenente i caratteri delle
opzioni supportate. Viene sollevata l'eccezione error nel caso
venga specificata un'opzione non valida.
L'argomento facoltativo mode rappresenta la modalit� Unix del
file, usata solamente quando il database deve essere creato. Il
valore predefinito in ottale � 0666.
In aggiunta ai soliti metodi tipici di un dizionario, gli oggetti gdbm possiedono
i seguenti metodi:
| ) |
gdbm, e non verranno
ordinati secondo il valore delle chiavi. Questo metodo restituisce la
chiave di partenza.
| key) |
db, senza dover
creare una lista in memoria che le contenga tutte:
k = db.firstkey()
while k != None:
print k
k = db.nextkey(k)
| ) |
gdbm, questa procedura riorganizzer� il
database. gdbm non diminuir� la dimensione di un file
database, se non tramite l'utilizzo di questa riorganizzazione;
altrimenti, lo spazio cancellato dal file verr� preso e riutilizzato
al momento dell'aggiunta di nuove coppie (chiave,valore).
| ) |
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.