From: Barry Warsaw Date: Fri, 10 May 2013 15:35:38 +0000 (-0400) Subject: I was confused before. It's correct to not call .close() inside the with X-Git-Tag: v3.3.2~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d8f870d0faad949fa6ad073d35bc45ebf7074452;p=thirdparty%2FPython%2Fcpython.git I was confused before. It's correct to not call .close() inside the with statement, but add a comment that clarifies the purpose of the code. --- diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst index fee5067bd00c..fba48f47d551 100644 --- a/Doc/library/contextlib.rst +++ b/Doc/library/contextlib.rst @@ -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()