|   | 1 |  initial version  | 
Here's something I stumbled accross; it doesn't solve the carriage return problem, but does give a single line printed incrementally, so might work for you.  The essential ingredient is sys.stdout.flush():
import sys
print "working:",
sys.stdout.flush()
for i in range(10):
    sleep(.5)
    print i,
    sys.stdout.flush()
print ''
sleep(1)
print "done!"
working: 0 1 2 3 4 5 6 7 8 9 
done!
 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.