while loop with f.readline()
Jeff Epler
jepler at inetnebr.com
Thu Feb 15 19:44:03 EST 2001
More information about the Python-list mailing list
Thu Feb 15 19:44:03 EST 2001
- Previous message (by thread): while loop with f.readline()
- Next message (by thread): while loop with f.readline()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Feb 15, 2001 at 05:04:19PM -0700, Sean Reifschneider wrote: > On Thu, Feb 15, 2001 at 01:22:39PM +0000, Jeff Epler wrote: > >I'd say, "xreadlines will never hold more than a few KB of the file > >in memory", but that's wrong if you have a file with a multi-megabyte line. > > Say "xreadlines()" will never hold more than a single line of the file in > memory. Note the implications if you feed it a file with multi-megabyte > line(s). Well, the full explanation is that it uses 'readlines(sizehint)' internally, and it never holds more than one chunk as returned by readlines(). So for line in file.xreadlines(): pass has the memory behavior of while 1: lines = file.readlines(sizehint) if not lines: break for line in lines: pass but the flow control of for line in file.readlines(): pass Jeff PS I don't recall what value of sizehint is used in 2.1, it was changed when the patch was integreated, after some benchmarking on python-dev
- Previous message (by thread): while loop with f.readline()
- Next message (by thread): while loop with f.readline()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list