我想制作一个打印数值的程序。我希望它显示数字,然后用另一个数字替换它。有点像这样:
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)