On many systems stderr is always automatically unbuffered io. This is true for Mac OS X and Linux but I am not sure about Windows.
But you typically read them from separate pipes and can get "out of order" conditions that can be confusing to the user (ie. should you read and print the stderrr or stdout first when both pipes have data waiting). There might be a way to pipe them both to the same output when invoking the script via subprocess but that is typically OS dependent..
It is simply easier to keep everything going to stdout so that progress and any error messages can be seen in the log window which makes it nice/easy for bug reports from users who use the gui program that exists for them.
ps. Here is the full tool set with the gui in case you want to modify or change it. It is very simplistic and meant to be basically independent of the underlying python script it invokes to the extent possible.
If python is in your path, you should be able to unzip and then double-click on MobiUnpack.pyw or MobiM22HTML.pyw and run the scripts (stored in the lib)
Last edited by KevinH; 07-22-2011 at 04:48 PM.