Browse Source
bpo-17852: Doc: Fix the tutorial about closing files (GH-23135)
Co-authored-by: Inada Naoki <songofacandy@gmail.com>
pull/23532/head
Volker-Weissmann
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
10 additions and
5 deletions
-
Doc/tutorial/inputoutput.rst
|
|
|
@ -329,11 +329,16 @@ equivalent :keyword:`try`\ -\ :keyword:`finally` blocks:: |
|
|
|
|
|
|
|
If you're not using the :keyword:`with` keyword, then you should call |
|
|
|
``f.close()`` to close the file and immediately free up any system |
|
|
|
resources used by it. If you don't explicitly close a file, Python's |
|
|
|
garbage collector will eventually destroy the object and close the |
|
|
|
open file for you, but the file may stay open for a while. Another |
|
|
|
risk is that different Python implementations will do this clean-up at |
|
|
|
different times. |
|
|
|
resources used by it. |
|
|
|
|
|
|
|
.. warning:: |
|
|
|
Calling ``f.write()`` without using the :keyword:`!with` keyword or calling |
|
|
|
``f.close()`` **might** result in the arguments |
|
|
|
of ``f.write()`` not being completely written to the disk, even if the |
|
|
|
program exits successfully. |
|
|
|
|
|
|
|
.. |
|
|
|
See also https://bugs.python.org/issue17852 |
|
|
|
|
|
|
|
After a file object is closed, either by a :keyword:`with` statement |
|
|
|
or by calling ``f.close()``, attempts to use the file object will |
|
|
|
|