Kaydet (Commit) d23c0a89 authored tarafından Ezio Melotti's avatar Ezio Melotti

#17040: document that shelve.open() and the Shelf object can be used as context…

#17040: document that shelve.open() and the Shelf object can be used as context managers.  Initial patch by Berker Peksag.
üst 894499fa
......@@ -44,8 +44,11 @@ lots of shared sub-objects. The keys are ordinary strings.
.. note::
Do not rely on the shelf being closed automatically; always call
:meth:`close` explicitly when you don't need it any more, or use a
:keyword:`with` statement with :func:`contextlib.closing`.
:meth:`~Shelf.close` explicitly when you don't need it any more, or
use :func:`shelve.open` as a context manager::
with shelve.open('spam') as db:
db['eggs'] = 'eggs'
.. warning::
......@@ -118,10 +121,15 @@ Restrictions
The *keyencoding* parameter is the encoding used to encode keys before they
are used with the underlying dict.
.. versionadded:: 3.2
The *keyencoding* parameter; previously, keys were always encoded in
:class:`Shelf` objects can also be used as context managers.
.. versionchanged:: 3.2
Added the *keyencoding* parameter; previously, keys were always encoded in
UTF-8.
.. versionchanged:: 3.4
Added context manager support.
.. class:: BsdDbShelf(dict, protocol=None, writeback=False, keyencoding='utf-8')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment