| :mod:`dumbdbm` --- Portable DBM implementation | |
| ============================================== | |
| .. module:: dumbdbm | |
| :synopsis: Portable implementation of the simple DBM interface. | |
| .. note:: | |
| The :mod:`dumbdbm` module has been renamed to :mod:`dbm.dumb` in Python 3. | |
| The :term:`2to3` tool will automatically adapt imports when converting your | |
| sources to Python 3. | |
| .. 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. | |
| In addition to the dictionary-like methods, ``dumbdm`` objects | |
| provide the following method: | |
| .. function:: close() | |
| Close the ``dumbdm`` database. | |
| .. 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.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. | |