Line-by-line processing when stdin is not a tty
Grant Edwards
invalid at invalid.invalid
Wed Aug 11 11:01:12 EDT 2010
On 2010-08-11, Peter Otten <__peter__ at web.de> wrote:
> Grant Edwards wrote:
>>> If you want to handle stdin a single line at a time from inside of
>>> your program, you can access it using sys.stdin.readline().
>>
>> That doesn't have any effect on stdin buffering.
>
> "for line in stream"-style file iteration uses an internal buffer that is
> not affected by the -u option; stream.readline() doesnt use this
> optimization.
You're right. Why didn't I know that?
Using "for line in sys.stdin" does it's own buffering.
In my tests using sys.stdin.readline() worked as the OP desired either
with or without -u, either with or without cat. IOW, "cat" isn't
buffering output on my system (or if it is, it's line-buffering).
--
Grant Edwards grant.b.edwards Yow! I don't know WHY I
at said that ... I think it
gmail.com came from the FILLINGS in
my rear molars ...
More information about the Python-list
mailing list