With at least one small (and usually irrelevant) difference: "for line in file" has its own internal buffering which cannot be turned off with python -u.
I learned this the hard way when debugging a Python script that read from tail -f output...
I thought a function that reads a line from a file would read the entire line and block until doing so. How would turning off line buffering change that? Do you expect 'for line in file' to yield as many bytes as is available if a full line can't be read yet?
I learned this the hard way when debugging a Python script that read from tail -f output...