\section{\module{anydbm} ---
         Generic access to DBM-style databases}

\declaremodule{standard}{anydbm}
\modulesynopsis{Generic interface to DBM-style database modules.}


\module{anydbm} is a generic interface to variants of the DBM
database --- \refmodule{dbhash}\refstmodindex{dbhash} (requires
\refmodule{bsddb}\refbimodindex{bsddb}),
\refmodule{gdbm}\refbimodindex{gdbm}, or
\refmodule{dbm}\refbimodindex{dbm}.  If none of these modules is
installed, the slow-but-simple implementation in module
\refmodule{dumbdbm}\refstmodindex{dumbdbm} will be used.

\begin{funcdesc}{open}{filename\optional{, flag\optional{, mode}}}
Open the database file \var{filename} and return a corresponding object.

If the database file already exists, the \refmodule{whichdb} module is 
used to determine its type and the appropriate module is used; if it
does not exist, the first module listed above that can be imported is
used.

The optional \var{flag} argument can be
\code{'r'} to open an existing database for reading only,
\code{'w'} to open an existing database for reading and writing,
\code{'c'} to create the database if it doesn't exist, or
\code{'n'}, which will always create a new empty database.  If not
specified, the default value is \code{'r'}.

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).
\end{funcdesc}

\begin{excdesc}{error}
A tuple containing the exceptions that can be raised by each of the
supported modules, with a unique exception \exception{anydbm.error} as
the first item --- the latter is used when \exception{anydbm.error} is
raised.
\end{excdesc}

The object returned by \function{open()} supports most of the same
functionality as dictionaries; keys and their corresponding values can
be stored, retrieved, and deleted, and the \method{has_key()} and
\method{keys()} methods are available.  Keys and values must always be
strings.


\begin{seealso}
  \seemodule{dbhash}{BSD \code{db} database interface.}
  \seemodule{dbm}{Standard \UNIX{} database interface.}
  \seemodule{dumbdbm}{Portable implementation of the \code{dbm} interface.}
  \seemodule{gdbm}{GNU database interface, based on the \code{dbm} interface.}
  \seemodule{shelve}{General object persistence built on top of 
                     the Python \code{dbm} interface.}
  \seemodule{whichdb}{Utility module used to determine the type of an
                      existing database.}
\end{seealso}
