我在其他地方做了一些研究,似乎没有什么工作正常。我的计数器大部分都在工作,但当它从10点到9点以下时,它会留下一个0流,所以它们显示为90,80,70等。
我目前有:
stdout.write("\rRemaining: %r"%r)
stdout.flush()
答案 0 :(得分:1)
那是因为你覆盖了这一行的内容,当你从10传递到9时,你减少了1个字符。如果您不想看到上一个文本,则需要打印一个与前一个文本长度相同(或更长)的新行。
以下是如何操作的示例:
import time
from sys import stdout
n = 10
while n > 0:
stdout.write('\rValue: %s' % str(n).rjust(2))
stdout.flush()
n -= 1
time.sleep(1)
答案 1 :(得分:0)
stdout.write( "\rRemaining: {0: 3d}".format( int( r ) ) ) # assumed 100..0