我要動態地更新一些信息(就像進度條),我可以用下面的代碼如何刷新多行輸出動態
#! /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