summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-11-27 00:51:54 (GMT)
committerGitHub <noreply@github.com>2020-11-27 00:51:54 (GMT)
commit01fcde89d7d56321078be1739e759fece61d0a2b (patch)
treec0ec91fac7e4296600a2f66ffbaf69ea95100d39 /Doc
parentbda2e68c8849e23899b3dad9e436c06303254943 (diff)
downloadcpython-01fcde89d7d56321078be1739e759fece61d0a2b.zip
cpython-01fcde89d7d56321078be1739e759fece61d0a2b.tar.gz
cpython-01fcde89d7d56321078be1739e759fece61d0a2b.tar.bz2
bpo-17852: Doc: Fix the tutorial about closing files (GH-23135)
Co-authored-by: Inada Naoki <songofacandy@gmail.com> (cherry picked from commit c8aaf71dde4888864c0c351e2f935f87652c3d54) Co-authored-by: Volker-Weissmann <39418860+Volker-Weissmann@users.noreply.github.com>
Diffstat (limited to 'Doc')
-rw-r--r--Doc/tutorial/inputoutput.rst15
1 files changed, 10 insertions, 5 deletions
diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst
index 366a532..4e27cff 100644
--- a/Doc/tutorial/inputoutput.rst
+++ b/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