我要动态地更新一些信息(就像进度条),我可以用下面的代码如何刷新多行输出动态
#! /usr/bin/env python
import sys
import time
print "start the output"
def loop():
i = 0
while 1:
i += 1
output = "\rFirst_line%s..." % str(i)
sys.stdout.write(output)
sys.stdout.flush()
time.sleep(1)
loop()
它只能输出SINGLE_LINE信息动态,加当做到这一点'\ n'输出,它不能按预期工作。
output = "\rFirst_line%s...\n" % str(i)
任何方式可以帮助它刷新multi_line内容?
嗨,imxylz。感谢您的快速响应,但是如果输出中有'\ n',它仍然不能正常工作,如output =“\ rFirst_line%s ... \ n +++”%str(i)。 – user1675167
虽然tt可能看起来合理,但您不能用新行回写(退格),但以前不会与teletypes向后兼容。如果你想清除所有的屏幕,请检查这一点。 http://stackoverflow.com/questions/3136202/deleting-already-printed-in-python#3136352 – imxylz
我尝试新的函数print(object1,object2,sep ='\ n',end =''),跟着sys.stdout.write('\ b \ b \ b/b \'),'\ b'对'\ n'字符串仍然不能正常工作。看来,我必须改变我的方式(使用os.system('clear')。再次感谢 – user1675167