Hi folks,

import io

with io.open(filename, ‘r’) as fd:
   lines = fd.readlines(hint=1000)
   for line in lines:
       # do something


I was just looking at the io module. io.open(‘file’, ‘r') returns an 
io.TextIOWrapper object, which has the io.TextIOWrapper.readlines(hint=-1/) 
method.


>>> help(io.TextIOWrapper.readlines)
readlines(self, hint=-1, /)
    Return a list of lines from the stream.
    
    hint can be specified 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.

I haven’t verified this, but that looks like it isn’t reading the entire file. 
With hint=1000, the method returns as many complete lines that consume less 
than 1000 bytes of the stream. I’m lazy. Didn’t test it. Seems like only 1000 
bytes would be read from the file, rather than the entire file?

The builtin ‘open’ function is defined in the io streams module. I presume the 
builtin open(‘file’, ‘r’) returns an io.TextIOWrapper object. And maybe the 
readlines method just isn’t documented?

Just curious and lazy.

thanks,
Karen
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to