如何替换python shell上的文本



我想制作一个打印数值的程序。我希望它显示数字,然后用另一个数字替换它。有点像这样:

val = 0
for looper in range(1, 10):
   val += 1
   print (val)
   #Code to replace old number to new number

谢谢你的帮助!

如果您想就地更新号码,可以使用\r。

import sys
val = 0
for looper in range(1, 10):
    val += 1
    sys.stdout.write("r%d" % (val))
    sys.stdout.flush()
    time.sleep(1) # sleep added so that you can see the effect

看起来您正在寻找一些东西来替换sys.stdout中的输出。

这在不使用外部库的情况下是有限的,但你可以这样做:

import sys
import time
for number in xrange(10):
    # put number in 'stdout'
    sys.stdout.write(str(number))
    # empty stdout (by default it waits for a new line)
    sys.stdout.flush()
    # display the number for some time
    time.sleep(1)
    # go back to beginning of input to override existing output
    sys.stdout.write('r')

我想你是在考虑回车使用"\r"this with time.sleep(ms)

在Python 3上,@Teemu Kurppa的答案可以写成:

import time
for i in range(1, 11):
    print(i, end='r', flush=True)
    time.sleep(1)

最新更新