1.0代碼:
import time#引入time庫 scale=10#文本進度條寬度 print("------執行開始------") for i in range(scale+1):#模擬一個進度 a='*'*i#字符串被復制的次數,"*"表示百分比所表達的信息 b='.'*(scale-i) c=(i/scale)*100#輸出對應進度條的百分比 print("{:^3.0f}%[{}->{}]".format(c,a,b)) time.sleep(0.1)#間隔相同時間執行程序 print("------執行結束------")
結果:
2.0代碼(單行動態刷新):
代碼(IDLE中可能不能運行,我是在Visual Studio 2019運行的):
import time#引入time庫 for i in range(101): print("\r{:3}%".format(i),end="")#"\r"使光標退會到當前行的行首,"end="使print函數輸出不換行" time.sleep(0.1)
結果:從0%輸出到100%
完整效果:
代碼:
import time#引入time庫 scale=50#文本進度條寬度 print("執行開始".center(scale//2,"-")) start=time.perf_counter()#計時開始 for i in range(scale+1):#模擬一個進度 a='*'*i#字符串被復制的次數,"*"表示百分比所表達的信息 b='.'*(scale-i) c=(i/scale)*100#輸出對應進度條的百分比 dur=time.perf_counter()-start#計時結束,並計算所用時間 print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")#dur用來記錄打印文本進度條所消耗的時間 time.sleep(0.1)#間隔相同時間執行程序 print("\n"+"執行結束".center(scale//2,"-"))
結果(Visual Studio 2019):