3.14 shelve -- Persistencia de objetos Python

Un ``shelf'' (estante) es un objeto persistente que se comporta como un diccionario. La diferencia con las bases de datos ``dbm'' es que los valores (no las claves) pueden ser objetos Python arbitrarios, cualquier cosa que sea capaz de manejar el módulo pickle. Esto incluye la mayoría de las instancias de clase, los tipos de datos recursivos y los objetos que contienen multitud de sub-objetos compartidos. Las claves son cadenas normales.

Para resumir la interfaz (clave es una cadena, datos es un objeto arbitrario):

import shelve

d = shelve.open(nombrefichero) # abrir, con (g)dbm, nombrefichero -- sin sufijo

d[clave] = datos   # guarda los datos en la clave (sobreescribiendo los datos antiguos
                # si ya se había usado esa clave)
datos = d[clave]   # recupera los datos de esa clave (lanza KeyError si no existe tal clave)
del d[clave]      # elimina los datos de esa clave (lanza KeyError si no existe tal clave)
flag = d.has_key(clave)   # Verdadero si la clave existe
lista = d.keys() # una lista de las claves existentes (es lento)

d.close()       # cerrarlo

Restricciones:

Más informació en:

Module anydbm:
Interfaz genérica a las bases de datos tipo dbm.
Module dbhash:
Interfaz con la base de datos db BSD.
Module dbm:
Interfaz con la base de datos Unix estándar.
Module dumbdbm:
Implementación portátil de la interfaz con la base de datos dbm.
Module gdbm:
Interfaz con la base de datos GNU, basada en la interfaz dbm.
Module pickle:
Serialización de objetos utilizada por shelve.
Module cPickle:
Versión de alto rendimiento de pickle.

Ver Sobre este documento... para obtener información sobre sugerencias.