首页 > 解决方案 > 有没有一种简单的方法来添加进度条/计数器,我可以在其中添加一条线来经常增加它 - 不定时

问题描述

我有一个基本完整的脚本。我想给它添加某种进度条,而不是在每一步经过时打印出来

有什么可以让我这样做的吗?

设置一个进度小部件/计数器/循环给它一个命令函数来增加

执行一些脚本 添加代码以推进/增加进度条 执行更多脚本 添加代码以推进/增加进度条 执行更多脚本 添加代码以推进/增加进度条 执行更多脚本 添加代码以推进/增加进度条

另外,你能给我一个例子吗?我看过 3 或 4 个不同的“进度条”类型库,没有一个例子是这样做的,我似乎找到的所有例子都想这样做按时间或按字节大小下载文件

标签: pythonprogress-bar

解决方案


PIP 中有许多进度条,如果你运行 python3 ,我建议使用ezprogress 。

from ezprogress.progressbar import ProgressBar
import time

# Number of steps in your total script
steps_needed = 100
current_step = 0

# setup progress bar
pb = ProgressBar(steps_needed, bar_length=100)
pb.start()


# Do what your script wants
...

# Increment counter
current_step += 1
pb.update(current_step)

# Do what your script wants
...


# When you are done you can force the progress bar to finish
PB.finished()

进度条不支持关闭时间估计,但现在可以在最新版本中,只需从 PIP 升级。

要关闭时间估计,只需使用no_time=True以下代码中的参数启动进度条:

pb = ProgressBar(steps_needed, bar_length=100, no_time=True)

推荐阅读