| \section{Standard Modules \sectcode{anydbm} and \sectcode{dumbdbm}} |
| \label{module-anydbm} |
| \label{module-dumbdbm} |
| \stmodindex{anydbm} |
| \stmodindex{dumbdbm} |
| |
| \module{anydbm} is a generic interface to variants of the DBM |
| database--DBM, GDBM, or dbhash. If none of these modules is |
| installed, the slow-but-simple implementation in module \module{dumbdbm} |
| will be used. Both modules provide the same interface: |
| |
| % not the best solution, but it's what you get for documenting both |
| % at the same time. |
| \setindexsubitem{(in modules anydbm, dumbdbm)} |
| |
| \begin{funcdesc}{open}{filename\optional{\, flag\, mode}} |
| Open the database file \var{filename} and return a corresponding object. |
| 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} |
| |
| 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. |
| |
| Both modules also export the exception \exception{error}, which is |
| raised for various problems. The \exception{anydbm.error} exception |
| is simply a different name for the \exception{error} exception of the |
| underlying implementation module used. |