In Python, for a binary file, I can write this: buf_size=1024*64
# this is an important size... with open(file, "rb") as f: while
True: data=f.read(buf_size) if not data: break # deal with the
data.... With a text file that I want to read line-by-line, I
can write this: with open(file, "r") as file: for line in file:
# deal with each line.... Which is shorthand for: with
open(file, "r") as file: for line in iter(file.readline, ""): #
deal with each line.... This idiom is documented in PEP 234 but
I have failed to locate a similar idiom for binary files. I have
tried this: >>> with open('dups.txt','rb') as f: ... for chunk
in iter(f.read,''): ... i+=1 >>> i 1 # 30 MB file, i==1 means
read in one go... I tried putting iter(f.read(buf_size),'') but
that is a syntax error because of the parens after the callable
in iter(). I know I could write a function, but is there way
with the default idiom of for chunk in file: where I can use a
buffer size versus a line oriented? Thanks for putting up with
the Python newbie