Une ``étagère'' (shelf) est un objet persistant, de genre dictionnaire. La
différence avec les bases de données ``dbm'' est que les valeurs (pas
les clés!) dans une étagère peuvent être par nature n'importe quel type
d'objet Python - tout ce que le module pickle peut traiter.
Ceci inclut la plupart des instances de classes, les types de données
récursifs, et les objets contenant un grand nombre de sous-objets
partagés. Les clés sont habituellement des chaînes de caractères.
Pour résumer l'interface ( Restrictions:
Voir aussi:cle est une chaîne de caractères, donneeest un objet arbitraire):
import shelve
d = shelve.open(fichier) # ouvre, avec un nom de fichier (g)dbm -- pas d'extension
d[cle] = donnee # stocke la donnée à la clé (écrase les anciennes données
# si la clé existait déjà)
donnee = d[cle] # récupère les données à la clé (déclenche KeyError si
# cette clé n'existe pas)
del d[cle] # détruit les données stockées à la clé (déclenche KeyError
# si cette clé n'existe pas)
indic = d.has_key(cle) # vrai si la clé existe
liste = d.keys() # la liste de toutes les clés existantes (lent!)
d.close() # fermeture
dbm. db de BSD. dbm. dbm.