跳转到内容

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
华夏公益教科书