From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 23 Jan 2024 01:07:14 +0000 (+0100) Subject: [3.11] gh-66944: Note that the `contextlib.closing` example is for illustrative purpo... X-Git-Tag: v3.11.8~101 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dcda3aaa6a6c279579da4b96747dc7c3c8216715;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-66944: Note that the `contextlib.closing` example is for illustrative purposes (GH-112198) (#114459) --- diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst index c01112a0a858..fd264883c682 100644 --- a/Doc/library/contextlib.rst +++ b/Doc/library/contextlib.rst @@ -182,6 +182,14 @@ Functions and classes provided: without needing to explicitly close ``page``. Even if an error occurs, ``page.close()`` will be called when the :keyword:`with` block is exited. + .. note:: + + Most types managing resources support the :term:`context manager` protocol, + which closes *thing* on leaving the :keyword:`with` statment. + As such, :func:`!closing` is most useful for third party types that don't + support context managers. + This example is purely for illustration purposes, + as :func:`~urllib.request.urlopen` would normally be used in a context manager. .. function:: aclosing(thing)