From: Georg Brandl Date: Wed, 16 Jul 2008 23:35:54 +0000 (+0000) Subject: #3388: add a paragraph about using "with" for file objects. X-Git-Tag: v2.6b2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a66bb0a741060b35151673dffb0d5b87307aa7e9;p=thirdparty%2FPython%2Fcpython.git #3388: add a paragraph about using "with" for file objects. --- diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst index fe33d12b3fa7..1b344e60b22d 100644 --- a/Doc/tutorial/inputoutput.rst +++ b/Doc/tutorial/inputoutput.rst @@ -348,6 +348,16 @@ attempts to use the file object will automatically fail. :: File "", line 1, in ? ValueError: I/O operation on closed file +It is good practice to use the :keyword:`with` keyword when dealing with file +objects. This has the advantage that the file is properly closed after its +suite finishes, even if an exception is raised on the way. It is also much +shorter than writing equivalent :keyword:`try`\ -\ :keyword:`finally` blocks:: + + >>> with open('/tmp/workfile', 'r') as f: + ... read_data = f.read() + >>> f.closed + True + File objects have some additional methods, such as :meth:`isatty` and :meth:`truncate` which are less frequently used; consult the Library Reference for a complete guide to file objects.