On 2/27/2016 4:39 AM, Veek. M wrote:
I want to do something like:

#!/usr/bin/env python3

fh = open('/etc/motd')
for line in fh.readlines():
     print(fh.tell())

why doesn't this work as expected.. fh.readlines() should return a
generator object and fh.tell() ought to start at 0 first.

Not after you have already read some data. Readlines() reads the entire file and splits it into lines. readline reads at least a single block. Reading a single byte or character at a time looking for /n would be too slow, so even after readline, the file pointer will be somewhere past the end of the last line returned.

Instead i get the final count repeated for the number of lines.

What i'm trying to do is lookahead:
#!whatever

fh = open(whatever)
for line in fh.readlines():
     x = fh.tell()
     temp = fh.readline()
     fh.seek(x)



--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to