1、一般的打印(靜態的)
一般的打印都是靜態的,打印的是什麼後面不會有改動
比如
import sys
import time
for i in range(5):
time.sleep(1)
print("\r now is :{0}\n".format(i))
輸出結果:
2.動態刷新一行
寫法多樣:
sys.stdout.write('\r now is: %d' % (i))
sys.stdout.flush()
sys.stdout.write("\r now is :{0}".format(i))
sys.stdout.flush()
舉例:test.py
import sys
import time
for i in range(5):
time.sleep(2)
sys.stdout.write("\r now is :{0}".format(i))
sys.stdout.flush()
打印效果如下圖:
3.動態刷新多行
這裏使用了清屏os.system(‘clear’)的操作,多行的數據只使用\r好像不能同時刷新多行。
import sys
import time
import os
import re
for i in range(5):
os.system('clear')
a='''
id name sex
1 lucy girl
'''
a=re.sub("1",str(i),a)
sys.stdout.write("\r{0}".format(a))
sys.stdout.flush()
time.sleep(2)
打印效果:
4.思考:
如果步驟2不加清屏的操作,打印結果會是下面的這個樣子,除了上面步驟2的解決方法,如果有其他方式可以實現動態刷新數據的,歡迎留言!