Buffering control in python?
Fernando Pérez
fperez528 at yahoo.com
Sat Oct 12 16:31:08 EDT 2002
I know that using -u will turn buffering off for everything in python. But is
there a good reason for the lack of a way to turn buffering off from _inside_
a script? It's a bit nonsensical --at least from a user's perspective-- that
something which can be done at the command line so easily isn't available
inside the language itself. I don't want to use #!/usr/bin/python -u because
of its portability problems.
In Perl each stream can be set to unbuffered via a simple
STDOUT->autoflush(1);
Any reason why something like sys.stdout.autoflush(1) wouldn't be a good
thing? I hate having to put sys.stdout.flush() calls all over the place when
I need unbuffered output, when a stateful approach would be far cleaner. It
would be also better than a blanket '-u' switch, since one could turn
buffering off only for those streams that need it, and only in the places
where it's needed.
Any comments from the cognoscenti?
Thanks,
f.
More information about the Python-list
mailing list