tqdm:
python自带的库,直接在程序中运行就能看到;
效果如下:
代码:
from tqdm import tqdm
from time import sleep
#tqdm:一个很受欢迎的进度条库,能很方便地显示迭代过程中的进度。
for i in tqdm(range(100)):
# do something
sleep(0.1)
rich:
需要下载依赖库
这款进度条不能在pycharm中显示,在windows终端(cmd)运行的时候,可以显示;
效果:
代码如下:
from rich.progress import Progress
import time
# 创建一个Progress实例
progress = Progress()
# 添加一个新的进度条任务,并设置总完成量为100
task_id = progress.add_task("[cyan]Processing...", total=100)
# 启动进度条
with progress:
while not progress.finished:
# 将任务进度更新1
progress.update(task_id, advance=1)
# 暂停0.1秒
time.sleep(0.1)
rich升级版:(可调节样式和属性)
效果:
代码:
# 导入rich库的Progress,BarColumn,TimeRemainingColumn和TextColumn模块,以及Python的时间模块
from rich.progress import Progress, BarColumn, TimeRemainingColumn, TextColumn
import time
# 创建自定义的文本列类,这是为了我们可以向进度任务提供自定义的描述信息
class CustomTextColumn(TextColumn):
# 覆盖TextColumn的render方法,返回每个任务的自定义文本
# 而这个文本,就是进度条前面那部分描述任务进度的文本信息
def render(self, task):
# 用Python的f-string,根据每个任务的完成情况,构造描述文本
return f"[magenta]Custom Progress: {task.completed / task.total * 100:.2f}%"
# 定义自定义的进度条类,这是我们主要的进度条,里面可以自定义很多元素和样式
class CustomProgress(Progress):
# 初始化方法
def __init__(self):
super().__init__(
# 我们在这里定义了进度条包含的几个主要元素(列)
# 第一列是我们上面自定义的描述任务进度的文本列
CustomTextColumn("{task.description}"),
# 第二列是条形图列,这是描述任务进度的主要图形
# 可以自定义这个列的宽度(bar_width参数,None表示自动调整到合适的宽度),以及完成部分的颜色(finished_style参数,这里我们设置成了绿色)
BarColumn(bar_width=None, finished_style="green"),
# 第三列是显示任务完成百分比的列
"[progress.percentage]{task.percentage:>3.0f}%",
# 第四列是估计任务剩余时间的列
TimeRemainingColumn(),
)
# 创建一个自定义的进度条实例
progress = CustomProgress()
# 添加一个新的进度任务,其中,这个任务总共需要处理100个单元
task_id = progress.add_task("Processing...", total=100)
# 启动进度条,这个进度条在任务进行的过程中会一直显示在控制台的最下方
with progress:
# 当任务未完成时,持续运行
while not progress.finished:
# 每次前进一步,这里是模拟你的任务在逐渐完成
# 在实际使用中,你应该根据你的任务的实际完成情况来更新这个进度
progress.update(task_id, advance=1)
# 暂停0.1秒以模拟处理时间,这里仅用于示例,在实际使用中你可能不需要这个
time.sleep(0.1)
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。