| \section{\module{dumbdbm} --- |
| Portable DBM implementation} |
| |
| \declaremodule{standard}{dumbdbm} |
| \modulesynopsis{Portable implementation of the simple DBM interface.} |
| |
| \index{databases} |
| |
| \begin{notice} |
| The \module{dumbdbm} module is intended as a last resort fallback for |
| the \refmodule{anydbm} module when no 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. |
| \end{notice} |
| |
| The \module{dumbdbm} module provides a persistent dictionary-like interface |
| which is written entirely in Python. Unlike other modules such as |
| \refmodule{gdbm} and \refmodule{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 \file{.dat} and |
| \file{.dir} extensions are created. |
| |
| The optional \var{flag} argument is currently ignored; the database is |
| always opened for update, and will be created if it does not exist. |
| |
| 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} (and will be modified by the prevailing umask). |
| \versionchanged[The \var{mode} argument was ignored in earlier |
| versions]{2.2} |
| \end{funcdesc} |
| |
| |
| \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} |
| |
| |
| \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} |