mirror of
https://github.com/python/cpython.git
synced 2025-10-01 04:42:10 +00:00
[3.12] Docs: rework the dbm.dumb introduction (GH-114550) (#114620)
(cherry picked from commit6c2b419fb9
) - consistently use correct parameter markup - consistently use submodule name as database name - improve accuracy of the dbm.dumb.open() spec - remove dumbdbm class refs and replace them with generic "database object" - use parameter list for dbm.dumb.open() (cherry picked from commit6c2b419fb9
) Co-authored-by: Erlend E. Aasland <erlend@python.org>
This commit is contained in:
parent
74bd566f70
commit
bf35ac1d4c
1 changed files with 36 additions and 30 deletions
|
@ -339,13 +339,14 @@ This module can be used with the "classic" NDBM interface or the
|
|||
|
||||
--------------
|
||||
|
||||
The :mod:`dbm.dumb` module provides a persistent dictionary-like interface which
|
||||
is written entirely in Python. Unlike other modules such as :mod:`dbm.gnu` no
|
||||
external library is required. As with other persistent mappings, the keys and
|
||||
values are always stored as bytes.
|
||||
|
||||
The module defines the following:
|
||||
The :mod:`dbm.dumb` module provides a persistent :class:`dict`-like
|
||||
interface which is written entirely in Python.
|
||||
Unlike other :mod:`dbm` backends, such as :mod:`dbm.gnu`, no
|
||||
external library is required.
|
||||
As with other :mod:`dbm` backends,
|
||||
the keys and values are always stored as :class:`bytes`.
|
||||
|
||||
The :mod:`!dbm.dumb` module defines the following:
|
||||
|
||||
.. exception:: error
|
||||
|
||||
|
@ -353,15 +354,22 @@ The module defines the following:
|
|||
raised for general mapping errors like specifying an incorrect key.
|
||||
|
||||
|
||||
.. function:: open(filename[, flag[, mode]])
|
||||
.. function:: open(filename, flag="c", mode=0o666)
|
||||
|
||||
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.
|
||||
Open a :mod:`!dbm.dumb` database.
|
||||
The returned database object behaves similar to a :term:`mapping`,
|
||||
in addition to providing :meth:`~dumbdbm.sync` and :meth:`~dumbdbm.close`
|
||||
methods.
|
||||
|
||||
The optional *flag* argument can be:
|
||||
:param filename:
|
||||
The basename of the database file (without extensions).
|
||||
A new database creates the following files:
|
||||
|
||||
- :file:`{filename}.dat`
|
||||
- :file:`{filename}.dir`
|
||||
:type database: :term:`path-like object`
|
||||
|
||||
:param str flag:
|
||||
.. csv-table::
|
||||
:header: "Value", "Meaning"
|
||||
|
||||
|
@ -370,9 +378,9 @@ The module defines the following:
|
|||
``'c'`` (default), |flag_c|
|
||||
``'n'``, |flag_n|
|
||||
|
||||
The optional *mode* argument is the Unix mode of the file, used only when the
|
||||
database has to be created. It defaults to octal ``0o666`` (and will be modified
|
||||
by the prevailing umask).
|
||||
:param int mode:
|
||||
The Unix file access mode of the file (default: ``0o666``),
|
||||
used only when the database has to be created.
|
||||
|
||||
.. warning::
|
||||
It is possible to crash the Python interpreter when loading a database
|
||||
|
@ -380,20 +388,18 @@ The module defines the following:
|
|||
Python's AST compiler.
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
:func:`.open` always creates a new database when the flag has the value
|
||||
``'n'``.
|
||||
:func:`open` always creates a new database when *flag* is ``'n'``.
|
||||
|
||||
.. versionchanged:: 3.8
|
||||
A database opened with flags ``'r'`` is now read-only. Opening with
|
||||
flags ``'r'`` and ``'w'`` no longer creates a database if it does not
|
||||
exist.
|
||||
A database opened read-only if *flag* is ``'r'``.
|
||||
A database is not created if it does not exist if *flag* is ``'r'`` or ``'w'``.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
Accepts :term:`path-like object` for filename.
|
||||
*filename* accepts a :term:`path-like object`.
|
||||
|
||||
In addition to the methods provided by the
|
||||
:class:`collections.abc.MutableMapping` class, :class:`dumbdbm` objects
|
||||
provide the following methods:
|
||||
:class:`collections.abc.MutableMapping` class,
|
||||
the following methods are provided:
|
||||
|
||||
.. method:: dumbdbm.sync()
|
||||
|
||||
|
@ -402,5 +408,5 @@ The module defines the following:
|
|||
|
||||
.. method:: dumbdbm.close()
|
||||
|
||||
Close the ``dumbdbm`` database.
|
||||
Close the database.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue