cpython/Doc/lib/libdumbdbm.tex

58 lines
2.2 KiB
TeX

\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}