| \section{\module{dumbdbm} --- |
| Simple ``database'' interface written in Python} |
| |
| \declaremodule{builtin}{dumbdbm} |
| \modulesynopsis{A dbm-style module available on all platforms.} |
| |
| \index{databases} |
| |
| \note{The \module{dumbdbm} module is intended as a last resort fallback for |
| the \module{anydbm} module when no other more robust module is available. |
| The \module{dumbdbm} module is not written for speed and is not nearly as |
| heavily used as the other database modules.} |
| |
| The \module{dumbdbm} module provides a persisten dictionary-like interface |
| which is written entirely in Python. Unlike other modules such as |
| {}\module{gdbm} and \module{bsddb}, no external library is required. As |
| with other persistent mappings, the keys and values must always be strings. |
| |
| The module defines the following: |
| |
| \begin{excdesc}{error} |
| Raised on dumbdbm-specific errors, such as I/O errors. \exception{KeyError} |
| is raised for general mapping errors like specifying an incorrect key. |
| \end{excdesc} |
| |
| \begin{funcdesc}{open}{filename\optional{, flag\optional{, mode}}} |
| |
| Open a dumbdbm database and return a dumbdbm object. The \var{filename} |
| argument is the basename of the database file (without any specific |
| extensions). When a dumbdbm database is created, files with \code{.dat} and |
| \code{.dir} extensions are created. |
| |
| The optional \var{flag} argument is currently ignored. |
| |
| The optional \var{mode} argument is the \UNIX{} mode of the file, used |
| only when the database has to be created. It defaults to octal |
| \code{0666}. |
| \end{funcdesc} |
| |
| \subsection{Dumbdbm Objects \label{dumbdbm-objects}} |
| |
| In addition to the methods provided by the \class{UserDict.DictMixin} class, |
| \class{dumbdbm} objects provide the following methods. |
| |
| \begin{methoddesc}{sync}{} |
| Synchronize the on-disk directory and data files. This method is called by |
| the \method{sync} method of \class{Shelve} objects. |
| \end{methoddesc} |
| |
| \begin{seealso} |
| \seemodule{anydbm}{Generic interface to \code{dbm}-style databases.} |
| \seemodule{dbm}{Similar interface to the DBM/NDBM library.} |
| \seemodule{gdbm}{Similar interface to the GNU GDBM library.} |
| \seemodule{shelve}{Persistence module which stores non-string data.} |
| \seemodule{whichdb}{Utility module used to determine the type of an |
| existing database.} |
| \end{seealso} |