我有一个问题,想要在Python中使用回车实现一个简单的倒计时。我有两个版本,但每个版本都有问题。
打印版:
for i in range(10):
print "\rCountdown: %d" % i
time.sleep(1)
问题:由于在结尾处打印了换行符,因此
\r
没有任何作用,因此输出如下:Countdown: 0
Countdown: 1
Countdown: 2
Countdown: 3
Countdown: 4
Countdown: 5
Countdown: 6
Countdown: 7
Countdown: 8
Countdown: 9
Sys.stdout.write版本:
for i in range(10):
sys.stdout.write("\rCountdown: %d" % i)
time.sleep(1)
print "\n"
问题:所有的睡眠都发生在开始,而在睡眠10秒后,它只是将
Countdown: 9
打印到屏幕上。我可以看到\r
在幕后起作用,但我该如何让打印在睡眠中间交替出现?