<div class="gmail_quote">On Mon, Jan 9, 2012 at 1:53 PM, Devin Jeanpierre <span dir="ltr"><<a href="mailto:jeanpierreda@gmail.com">jeanpierreda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">> In Python 2 "print 'something', statement calls were unbuffered and<br>
> immediately appeared on screen.<br>
<br>
</div>No, they weren't.<br></blockquote><div><br></div><div> --- cut py2print.py ---</div><div><div>from time import sleep</div><div><br></div><div>while 1:</div><div>  sleep(1)</div><div>  print ".",</div>

</div><div>--- cut ---</div><div><br></div><div>This produces one dot every second with Python 2.7.2 on Windows. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Python doesn't do any extra buffering or flushing. Usually your<br>
terminal emulator line-buffers stdout. If you don't print a newline<br>
(in Python 2 OR 3) then it doesn't show up until you either flush<br>
(sys.stdout.flush()) or send a newline.</blockquote><div><br></div><div>I assume you use Linux. Do you agree that for cross-platform language some behavior should be made consistent?</div></div>