Python:文本進度條的實現和簡單註釋解析

Python:文本進度條的實現和簡單註釋解析

需求分析:
採用字符串打印的方式,打印輸出可以動態變化的文本進度條,要求進度條需要能在一行中逐漸變化。
問題分析:
如何獲得文本進度條的變化時間?→採用sleep()模擬一個持續的進度;
單行動態刷新→增加“\r”;(刷新的本質是用後打印的字符覆蓋之前的字符,打印後光標退回到之前的位置)

代碼示例(含註釋簡析):

#文本進度條
import time
scale=50
print("執行開始".center(scale//2,"-"))
#使用字符串處理中的.center方法,講一個“-”字符填充在執行開始
start=time.perf_counter()  #增加計時效果
for i in range (scale+1):
  a='*'*i
  b='.'*(scale-i)
  c=(i/scale)*100
  dur=time.perf_counter()-start
  #用來每一次用來打印文本進度條所用的時間,方法就是每次調用time.perf_counter()函數
  print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
  #爲了使文本進度條有單行刷新效果,增加“\r”,實現光標向行首移動
  #增加end函數,把end函數賦值爲空字符串,在每次輸出後不換行
  time.sleep(0.1)
print("\n"+"執行結束".center(scale//2,'-'))
#使用字符串處理中的.center方法,講一個“-”字符填充在執行結束


#覆蓋了字符串處理、數字處理以及時間庫的使用等方面的內容。

注:本段代碼在IDLE環境下運行時會報錯。因爲IDLE本身是一個編寫程序的開發環境,不是程序運行的主要環境,因此要在命令行模式下運行纔可以實現文本進度條的打印輸出。下附具體方法。

  1. Windows+R,輸入cmd,打開命令提示符;
    Windows+R操作界面

  2. 通過命令,找到文件的所在位置;
    文件所在位置

  3. 通過命令:python 文件名稱.py 完成文本進度條的單行打印輸出。
    打印輸出
    簡單說明:
    1、計算問題擴展
    (1)文本進度條程序使用了perf_counter()計時;
    (2)計時方法適合各類需要統計時間的計算問題。
    例如:比較不同算法時間、統計部分程序運行時間等
    2、進度條應用
    (1)在任何運行時間需要較長的程序中增加進度條;
    (2)在任何希望提高用戶體驗的應用中增加進度條;
    (3)進度條是人機交互的紐帶之一。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章