Using xreadlines

Brett Hedges lilhedges69 at yahoo.com
Fri Feb 27 11:07:03 EST 2009


> You can also keep track of the absolute position of the lines in the file, etc, or step back looking for newlines, etc, but it's not handy.


How would I keep track of the absolute position of the lines? I have tried to use the files.seek() command with the files.tell() command and it does not seem to work. The files.tell() command seems to give me a number but when I use the files.next() command with xreadlines it does not change the line number the next time I use files.tell(). 

Thanks,

Brett

--- On Thu, 2/26/09, bearophileHUGS at lycos.com <bearophileHUGS at lycos.com> wrote:

> From: bearophileHUGS at lycos.com <bearophileHUGS at lycos.com>
> Subject: Re: Using xreadlines
> To: python-list at python.org
> Date: Thursday, February 26, 2009, 8:09 PM
> Brett Hedges:
> > My question is how do I go to a previous line in the
> file? xreadlines has a file.next() statement that gives the
> next line, and I need a statement that gives me the previous
> line.<
> 
> In modern versions of Python you usually don't need
> xreadlines,
> because files are iterable.
> 
> If your files are small, you can just read all the lines in
> a list
> with open(...).readlines(), and then just use the item of
> the list
> with the n-1 index.
> 
> If the file is quite large or you like to keep things lazy,
> then you
> have to keep memory of the previous line, using an
> auxiliary variable.
> You can also wrap this idiom into a generator function (or
> iterable
> class, probably) that yields items and keeps memory of the
> last one
> (but you can't ask the previous of the first item, of
> course).
> 
> You can also keep track of the absolute position of the
> lines in the
> file, etc, or step back looking for newlines, etc, but
> it's not handy.
> 
> Bye,
> bearophile
> --
> http://mail.python.org/mailman/listinfo/python-list


      



More information about the Python-list mailing list