On 04.11.2015 04:18, Steven D'Aprano wrote:
On Wednesday 04 November 2015 09:25, Terry Reedy wrote:

On 11/3/2015 10:42 AM, Chris Angelico wrote:
On Wed, Nov 4, 2015 at 2:00 AM, Random832 <random...@fastmail.com> wrote:
Nobody <nobody@nowhere.invalid> writes:

It's probably related to the fact that std{in,out,err} are Unicode
streams.

There's no fundamental reason a Unicode stream should have to be line
buffered. If it's "related", it's only in that an oversight was made in
the course of making that change.

The current behavior is not an 'oversight'.  I was considered, decided,
and revisited in https://bugs.python.org/issue13601.  Guido:
"Line-buffering should be good enough since in practice errors messages
are always terminated by a newline."  If not, print(part_line,
file=sys.stderr, flush=True) works for the unusual case.

This is one of the offending line from our code base:

print('<4>Suspicious answer "{}"!'.format(answer), file=sys.stderr)

So that ought to be terminated by a newline. And yet, the stderr output
doesn't show up until the program exits.


For me, that prints immediately. Where is your output going? Console, file, ...?

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to