summaryrefslogtreecommitdiffstats
path: root/Doc/library/dumbdbm.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/library/dumbdbm.rst')
-rw-r--r--Doc/library/dumbdbm.rst81
1 files changed, 81 insertions, 0 deletions
diff --git a/Doc/library/dumbdbm.rst b/Doc/library/dumbdbm.rst
new file mode 100644
index 0000000..3db9fda
--- /dev/null
+++ b/Doc/library/dumbdbm.rst
@@ -0,0 +1,81 @@
+
+:mod:`dumbdbm` --- Portable DBM implementation
+==============================================
+
+.. module:: dumbdbm
+ :synopsis: Portable implementation of the simple DBM interface.
+
+
+.. index:: single: databases
+
+.. note::
+
+ The :mod:`dumbdbm` module is intended as a last resort fallback for the
+ :mod:`anydbm` module when no more robust module is available. The :mod:`dumbdbm`
+ module is not written for speed and is not nearly as heavily used as the other
+ database modules.
+
+The :mod:`dumbdbm` module provides a persistent dictionary-like interface which
+is written entirely in Python. Unlike other modules such as :mod:`gdbm` and
+:mod:`bsddb`, no external library is required. As with other persistent
+mappings, the keys and values must always be strings.
+
+The module defines the following:
+
+
+.. exception:: error
+
+ Raised on dumbdbm-specific errors, such as I/O errors. :exc:`KeyError` is
+ raised for general mapping errors like specifying an incorrect key.
+
+
+.. function:: open(filename[, flag[, mode]])
+
+ Open a dumbdbm database and return a dumbdbm object. The *filename* argument is
+ the basename of the database file (without any specific extensions). When a
+ dumbdbm database is created, files with :file:`.dat` and :file:`.dir` extensions
+ are created.
+
+ The optional *flag* argument is currently ignored; the database is always opened
+ for update, and will be created if it does not exist.
+
+ The optional *mode* argument is the Unix mode of the file, used only when the
+ database has to be created. It defaults to octal ``0666`` (and will be modified
+ by the prevailing umask).
+
+ .. versionchanged:: 2.2
+ The *mode* argument was ignored in earlier versions.
+
+
+.. seealso::
+
+ Module :mod:`anydbm`
+ Generic interface to ``dbm``\ -style databases.
+
+ Module :mod:`dbm`
+ Similar interface to the DBM/NDBM library.
+
+ Module :mod:`gdbm`
+ Similar interface to the GNU GDBM library.
+
+ Module :mod:`shelve`
+ Persistence module which stores non-string data.
+
+ Module :mod:`whichdb`
+ Utility module used to determine the type of an existing database.
+
+
+.. _dumbdbm-objects:
+
+Dumbdbm Objects
+---------------
+
+In addition to the methods provided by the :class:`UserDict.DictMixin` class,
+:class:`dumbdbm` objects provide the following methods.
+
+
+.. method:: dumbdbm.sync()
+
+ Synchronize the on-disk directory and data files. This method is called by the
+ :meth:`sync` method of :class:`Shelve` objects.
+