]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#13510: clarify that f.readlines() is note necessary to iterate over a file. Patch...
authorEzio Melotti <ezio.melotti@gmail.com>
Mon, 15 Apr 2013 16:08:31 +0000 (19:08 +0300)
committerEzio Melotti <ezio.melotti@gmail.com>
Mon, 15 Apr 2013 16:08:31 +0000 (19:08 +0300)
Doc/library/io.rst
Doc/tutorial/inputoutput.rst
Misc/ACKS

index 899408687b71555a17dac3007a6db0d8cdd33985..cc6cc95c86c49d0b9749b320eeeab514aed8cb48 100644 (file)
@@ -296,6 +296,9 @@ I/O Base Classes
       to control the number of lines read: no more lines will be read if the
       total size (in bytes/characters) of all lines so far exceeds *hint*.
 
+      Note that it's already possible to iterate on file objects using ``for
+      line in file: ...`` without calling ``file.readlines()``.
+
    .. method:: seek(offset, whence=SEEK_SET)
 
       Change the stream position to the given byte *offset*.  *offset* is
index 2f08110feefcbbff7885b055e1cccc9df81cfcf3..b1611f205908d07e1879a239ad0c01d583398613 100644 (file)
@@ -295,18 +295,8 @@ containing only a single newline.   ::
    >>> f.readline()
    ''
 
-``f.readlines()`` returns a list containing all the lines of data in the file.
-If given an optional parameter *sizehint*, it reads that many bytes from the
-file and enough more to complete a line, and returns the lines from that.  This
-is often used to allow efficient reading of a large file by lines, but without
-having to load the entire file in memory.  Only complete lines will be returned.
-::
-
-   >>> f.readlines()
-   ['This is the first line of the file.\n', 'Second line of the file\n']
-
-An alternative approach to reading lines is to loop over the file object. This is
-memory efficient, fast, and leads to simpler code::
+For reading lines from a file, you can loop over the file object. This is memory
+efficient, fast, and leads to simple code::
 
    >>> for line in f:
            print line,
@@ -314,9 +304,8 @@ memory efficient, fast, and leads to simpler code::
    This is the first line of the file.
    Second line of the file
 
-The alternative approach is simpler but does not provide as fine-grained
-control.  Since the two approaches manage line buffering differently, they
-should not be mixed.
+If you want to read all the lines of a file in a list you can also use
+``list(f)`` or ``f.readlines()``.
 
 ``f.write(string)`` writes the contents of *string* to the file, returning
 ``None``.   ::
index 78f074c76db52c680a8f01e62bfd956208fc7929..e9ec9c87fc289d74b8314c59e2080ddff796f9a6 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -838,6 +838,7 @@ Nicholas Riley
 Jean-Claude Rimbault
 Vlad Riscutia
 Wes Rishel
+Dan Riti
 Juan M. Bello Rivas
 Davide Rizzo
 Anthony Roach