[Python-checkins] cpython: #17040: document that shelve.open() and the Shelf object can be used as context

ezio.melotti python-checkins at python.org
Fri Feb 1 04:02:31 CET 2013


http://hg.python.org/cpython/rev/935a286b8066
changeset: 81860:935a286b8066
parent: 81858:e6cc582cafce
user: Ezio Melotti <ezio.melotti at gmail.com>
date: Fri Feb 01 05:01:50 2013 +0200
summary:
 #17040: document that shelve.open() and the Shelf object can be used as context managers. Initial patch by Berker Peksag.
files:
 Doc/library/shelve.rst | 16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/Doc/library/shelve.rst b/Doc/library/shelve.rst
--- a/Doc/library/shelve.rst
+++ b/Doc/library/shelve.rst
@@ -44,8 +44,11 @@
 .. 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 @@
 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')
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /