Python实现显示进度条

您所在的位置:网站首页 时间进度函数怎么写出来 Python实现显示进度条

Python实现显示进度条

2024-07-10 20:14| 来源: 网络整理| 查看: 265

文章目录 1. 普通进度条2. 带时间的普通进度条3. tqdm库4. alive_progress库5. progressbar库

1. 普通进度条

利用打印功能print进行实时刷新显示

import sys import time def progress_bar(finish_tasks_number, tasks_number): """ 进度条 :param finish_tasks_number: int, 已完成的任务数 :param tasks_number: int, 总的任务数 :return: """ percentage = round(finish_tasks_number / tasks_number * 100) print("\r进度: {}%: ".format(percentage), "▓" * (percentage // 2), end="") sys.stdout.flush() if __name__ == '__main__': for i in range(0, 101): progress_bar(i, 100) time.sleep(0.05)

效果如下:

在这里插入图片描述

2. 带时间的普通进度条

同样通过print进行打印进度条,不过还加入了time时间显示,显示进度过程中所需要的时间

import time def progress_bar(finish_tasks_number, tasks_number, complete_time): """ 进度条 :param finish_tasks_number: int, 已完成的任务数 :param tasks_number: int, 总的任务数 :param complete_time: float, 已完成的任务所消耗的总时间 :return: """ percentage = round(finish_tasks_number / tasks_number * 100) finished_label = "▓" * (percentage // 2) unfinished_label = "-" * (100 - percentage) arrow = "->" if not finished_label or not unfinished_label: arrow = "" print("\r{}% [{}{}{}] {:.2f}s".format(percentage, finished_label, arrow, unfinished_label, complete_time), end="") if __name__ == '__main__': start = time.perf_counter() for i in range(0, 101): duration = time.perf_counter() - start progress_bar(i, 100, duration) time.sleep(0.05)

效果如下:

在这里插入图片描述

3. tqdm库

tqdm是一个快速,可扩展的Python进度条,可以在Python长循环中添加一个进度提示信息

import time from tqdm import trange for i in trange(100): # do something time.sleep(0.5)

效果如下:

在这里插入图片描述

4. alive_progress库

alive_progress是一个动态的实时显示进度条库

import time from alive_progress import alive_bar # 假设需要执行100个任务 with alive_bar(100) as bar: for item in range(100): # 遍历任务 # 假设这代码部分需要0.5s time.sleep(0.5) bar() # 显示进度

效果如下:

在这里插入图片描述

5. progressbar库 import time from progressbar import ProgressBar, Percentage, Bar, Timer, ETA, FileTransferSpeed widgets = ['Progress: ', Percentage(), ' ', Bar('#'), ' ', Timer(), ' ', ETA(), ' ', FileTransferSpeed()] progress = ProgressBar(widgets=widgets) for i in progress(range(100)): # do something time.sleep(0.05)

效果如下:

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3