]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
I was confused before. It's correct to not call .close() inside the with
authorBarry Warsaw <barry@python.org>
Fri, 10 May 2013 15:35:38 +0000 (11:35 -0400)
committerBarry Warsaw <barry@python.org>
Fri, 10 May 2013 15:35:38 +0000 (11:35 -0400)
statement, but add a comment that clarifies the purpose of the code.

Doc/library/contextlib.rst

index fee5067bd00c0283ae6f0b3154c78d4159599e18..fba48f47d5514c95080034ccaa859778069788c5 100644 (file)
@@ -259,11 +259,12 @@ Functions and classes provided:
 
          with ExitStack() as stack:
              files = [stack.enter_context(open(fname)) for fname in filenames]
-             close_files = stack.pop_all().close()
+             # Hold onto the close method, but don't call it yet.
+             close_files = stack.pop_all().close
              # If opening any file fails, all previously opened files will be
              # closed automatically. If all files are opened successfully,
              # they will remain open even after the with statement ends.
-             # close_files() can then be invoked explicitly to close them all
+             # close_files() can then be invoked explicitly to close them all.
 
    .. method:: close()