- Got rid of newmodule.c
[python/dscho.git] / Doc / lib / libanydbm.tex
blobeef4d03e2447c25ee3a86db53970cc7bd74b4c08
1 \section{\module{anydbm} ---
2 Generic access to DBM-style databases}
4 \declaremodule{standard}{anydbm}
5 \modulesynopsis{Generic interface to DBM-style database modules.}
8 \module{anydbm} is a generic interface to variants of the DBM
9 database --- \refmodule{dbhash}\refstmodindex{dbhash} (requires
10 \refmodule{bsddb}\refbimodindex{bsddb}),
11 \refmodule{gdbm}\refbimodindex{gdbm}, or
12 \refmodule{dbm}\refbimodindex{dbm}. If none of these modules is
13 installed, the slow-but-simple implementation in module
14 \refmodule{dumbdbm}\refstmodindex{dumbdbm} will be used.
16 \begin{funcdesc}{open}{filename\optional{, flag\optional{, mode}}}
17 Open the database file \var{filename} and return a corresponding object.
19 If the database file already exists, the \refmodule{whichdb} module is
20 used to determine its type and the appropriate module is used; if it
21 does not exist, the first module listed above that can be imported is
22 used.
24 The optional \var{flag} argument can be
25 \code{'r'} to open an existing database for reading only,
26 \code{'w'} to open an existing database for reading and writing,
27 \code{'c'} to create the database if it doesn't exist, or
28 \code{'n'}, which will always create a new empty database. If not
29 specified, the default value is \code{'r'}.
31 The optional \var{mode} argument is the \UNIX{} mode of the file, used
32 only when the database has to be created. It defaults to octal
33 \code{0666} (and will be modified by the prevailing umask).
34 \end{funcdesc}
36 \begin{excdesc}{error}
37 A tuple containing the exceptions that can be raised by each of the
38 supported modules, with a unique exception \exception{anydbm.error} as
39 the first item --- the latter is used when \exception{anydbm.error} is
40 raised.
41 \end{excdesc}
43 The object returned by \function{open()} supports most of the same
44 functionality as dictionaries; keys and their corresponding values can
45 be stored, retrieved, and deleted, and the \method{has_key()} and
46 \method{keys()} methods are available. Keys and values must always be
47 strings.
50 \begin{seealso}
51 \seemodule{dbhash}{BSD \code{db} database interface.}
52 \seemodule{dbm}{Standard \UNIX{} database interface.}
53 \seemodule{dumbdbm}{Portable implementation of the \code{dbm} interface.}
54 \seemodule{gdbm}{GNU database interface, based on the \code{dbm} interface.}
55 \seemodule{shelve}{General object persistence built on top of
56 the Python \code{dbm} interface.}
57 \seemodule{whichdb}{Utility module used to determine the type of an
58 existing database.}
59 \end{seealso}
62 \section{\module{dumbdbm} ---
63 Portable DBM implementation}
65 \declaremodule{standard}{dumbdbm}
66 \modulesynopsis{Portable implementation of the simple DBM interface.}
69 A simple and slow database implemented entirely in Python. This
70 should only be used when no other DBM-style database is available.
73 \begin{funcdesc}{open}{filename\optional{, flag\optional{, mode}}}
74 Open the database file \var{filename} and return a corresponding
75 object. The \var{flag} argument, used to control how the database is
76 opened in the other DBM implementations, is ignored in
77 \module{dumbdbm}; the database is always opened for update, and will
78 be created if it does not exist.
80 The optional \var{mode} argument is the \UNIX{} mode of the file, used
81 only when the database has to be created. It defaults to octal
82 \code{0666} (and will be modified by the prevailing umask).
83 \versionchanged[The \var{mode} argument was ignored in earlier
84 versions]{2.2}
85 \end{funcdesc}
87 \begin{excdesc}{error}
88 Raised for errors not reported as \exception{KeyError} errors.
89 \end{excdesc}
92 \begin{seealso}
93 \seemodule{anydbm}{Generic interface to \code{dbm}-style databases.}
94 \seemodule{whichdb}{Utility module used to determine the type of an
95 existing database.}
96 \end{seealso}