On 17 Jan, 2012, at 11:59, anatoly techtonik wrote: > > > If you track this more closely, you'll notice there are four issues > (surprises) from the user point of view: > 1. print() buffers output on Python3 > 2. print() also buffers output on Python2, but only on Linux > 3. there is some useless '-u' command line parameter > (useless, because the last thing user wants is not only care about Python > 2/3, but also how to invoke them) > 4. print() is not guilty - it is sys.stdout.write() that buffers output > > 1-2 discussion was about idea to make new print() function behavior more > 'pythonic', i.e. 'user-friendly' or just KISS, which resulted in adding a > flush parameter > 3 is a just a side FYI remark > 4 doesn't relate to python-ideas anymore about fixing print() - it is about > the *cause* of the problem with print() UX, which is underlying > sys.stdout.write() behavior > > I asked 4 here, because it is the more appropriate place not only to ask if > it can be/will be fixed, but also why. The target audience of the question > are developers.
All four "issues" are related to output buffering and how that is not user-friendly. The new issue you raise is the same as before: sys.stdout is line buffered when writing to a tty, which means that you have to explictly flush output when you want to output a partial line. Why is this a problem for you? Is that something that bothers you personally or do you have data that suggests that this is a problem for a significant amount of (new) users? Ronald
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com