跳轉到內容

Python 程式設計/進度條

來自華夏公益教科書,為開放世界提供開放書籍

Python 中的進度條很豐富。 那裡有幾個眾所周知的進度條包。

外部進度條

[編輯 | 編輯原始碼]

其中一些頂級進度條來自 progresstqdm 庫。

進度
易於使用的進度條
PyPi 連結https://pypi.python.org/pypi/progress
Pip 命令pip install progress
匯入命令import progress.barimport progress.spinner

progress 模組提供了 7 種不同的進度條供使用。 它們是

  • Bar
  • ChargingBar
  • FillingSquaresBar
  • FillingCirclesBar
  • IncrementalBar
  • PixelBar
  • ShadyBar

該模組還提供了 6 個微調器。 它們沒有結束。 它們是

  • Spinner
  • PieSpinner
  • MoonSpinner
  • LineSpinner
  • PixelSpinner

為了訪問進度條/微調器,您執行 progress.a.b,其中 a 是您想要的指示器型別(進度條或微調器),b 是進度條/微調器的名稱。 此外,您必須將模組匯入為 progress.a,否則它將無法看到進度條/微調器。

示例程式碼

[編輯 | 編輯原始碼]
import progress.bar
import time

b = progress.bar.Bar('Waiting', max = 100)

for i in range(100):
    b.next()
    time.sleep(0.1)
    
b.finish()

我們也可以將其設為迭代器,以便可以將其放入 for 迴圈中。

from __future__ import print_function
import progress.bar
import time

b = progress.bar.Bar('Printing', max = 26)
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

for letter in b.iter(letters):
    print(letter)
    time.sleep(0.1)
    
b.finish()
tqdm
快速、可擴充套件的進度計
PyPi 連結https://pypi.python.org/pypi/tqdm
Pip 命令pip install tqdm

tqdm 模組依賴於一個主類,即 tqdm 類。 它具有一個 GUI 版本,一個與 jupyter 筆記本相容的版本,以及一個用於 pandas 的版本。 它將作為一個迭代器、一個可呼叫進度條以及 with 語句中的一個操作執行。

基本程式碼

[編輯 | 編輯原始碼]
from tqdm import tqdm

adder = 1
sum = 0

for i in tqdm(range(100)):
    sum += adder
華夏公益教科書