For solution number 2, you need to flush stdout.
for i in range(10):
sys.stdout.write("\rCountdown: %d" % i)
sys.stdout.flush()
time.sleep(1)
print ''
Also, just print an empty string since print will append the newline. Or use print '\n' ,
if you think it is more readable as the trailing comma suppresses the newline that would typically be appended.
Not sure how to fix the first one though...