13. Data Persistence

The modules described in this chapter support storing Python data in a persistent form on disk. The pickle and marshal modules can turn many Python data types into a stream of bytes and then recreate the objects from the bytes. The various DBM-related modules support a family of hash-based file formats that store a mapping of strings to other strings. The bsddb module also provides such disk-based string-to-string mappings based on hashing, and also supports B-Tree and record-based formats.

The list of modules described in this chapter is:

pickle   Convert Python objects to streams of bytes and back.
cPickle   Faster version of pickle, but not subclassable.
copy_reg   Register pickle support functions.
shelve   Python object persistence.
marshal   Convert Python objects to streams of bytes and back (with different constraints).
anydbm   Generic interface to DBM-style database modules.
whichdb   Guess which DBM-style module created a given database.
dbm   The standard ``database'' interface, based on ndbm.
gdbm   GNU's reinterpretation of dbm.
dbhash   DBM-style interface to the BSD database library.
bsddb   Interface to Berkeley DB database library
dumbdbm   Portable implementation of the simple DBM interface.
sqlite3   A DB-API 2.0 implementation using SQLite 3.x.

See About this document... for information on suggesting changes.