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