Kaydet (Commit) d8f870d0 authored tarafından Barry Warsaw's avatar Barry Warsaw

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.
üst 173d4109
...@@ -259,11 +259,12 @@ Functions and classes provided: ...@@ -259,11 +259,12 @@ Functions and classes provided:
with ExitStack() as stack: with ExitStack() as stack:
files = [stack.enter_context(open(fname)) for fname in filenames] 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 # If opening any file fails, all previously opened files will be
# closed automatically. If all files are opened successfully, # closed automatically. If all files are opened successfully,
# they will remain open even after the with statement ends. # 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() .. method:: close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment