#17040: document that shelve.open() and the Shelf object can be used as context managers. Initial patch by Berker Peksag.
This commit is contained in:
parent
894499fa27
commit
d23c0a8992
|
@ -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')
|
||||
|
||||
|
|
Loading…
Reference in New Issue