Guido van Rossum | b69e095 | 1994-08-08 08:03:24 +0000 | [diff] [blame^] | 1 | \section{Built-in Module \sectcode{gdbm}} |
| 2 | \bimodindex{gdbm} |
| 3 | |
| 4 | Gdbm provides python programs with an interface to the GNU \code{gdbm} |
| 5 | database library. Gdbm objects are of the mapping type, so they can be |
| 6 | handled just like objects of the built-in \dfn{dictionary} type, |
| 7 | except that keys and values are always strings, and printing a gdbm |
| 8 | object doesn't print the keys and values. |
| 9 | |
| 10 | The module is based on the Dbm module, modified to use GDBM instead. |
| 11 | |
| 12 | The module defines the following constant and functions: |
| 13 | |
| 14 | \renewcommand{\indexsubitem}{(in module gdbm)} |
| 15 | \begin{excdesc}{error} |
| 16 | Raised on gdbm-specific errors, such as I/O errors. \code{KeyError} is |
| 17 | raised for general mapping errors like specifying an incorrect key. |
| 18 | \end{excdesc} |
| 19 | |
| 20 | \begin{funcdesc}{open}{filename\, rwmode\, filemode} |
| 21 | Open a gdbm database and return a mapping object. \var{filename} is |
| 22 | the name of the database file, \var{rwmode} is \code{'r'}, \code{'w'}, |
| 23 | \code{'c'}, or \code{'n'} for reader, writer (this also gives read |
| 24 | access), create (writer, but create the database if it doesnt already |
| 25 | exist) and newdb (which will always create a new database). Only one |
| 26 | writer may open a gdbm file and many readers may open the file. Readers |
| 27 | and writers can not open the gdbm file at the same time. Note that the |
| 28 | \code{GDBM_FAST} mode of opening the database is not supported. \var{filemode} |
| 29 | is the unix mode of the file, used only when a database is created. |
| 30 | \end{funcdesc} |