58 lines
2.2 KiB
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}
|