Python 实现任务进度条

1. 需求背景

在开发过程中,特别是在执行耗时较长的任务时,向用户显示任务的进度是非常有用的。这不仅可以提高用户体验,还可以帮助开发者调试和优化代码。本文将介绍如何使用 Python 实现一个简单的任务进度条,并提供一个示例用法。

2. 编写进度条函数

进度条的基本原理是通过计算已完成任务的比例,并将其转换为百分比形式显示。我们可以通过在控制台上动态更新一行文本来实现这一点。Python 的 sys.stdout.write 和 sys.stdout.flush 方法可以帮助我们在同一行上更新输出。

import sys
import time

def progress_bar(iteration, total, length=40):
    """
    显示任务进度条

    :param iteration: 当前迭代次数
    :param total: 总迭代次数
    :param length: 进度条的长度
    """
    percent = (iteration / total) * 100
    filled_length = int(length * iteration // total)
    bar = '#' * filled_length + '-' * (length - filled_length)

    sys.stdout.write(f'\r[{bar}] {int(percent)}%')
    sys.stdout.flush()

3. 示例用法

为了演示如何使用 progress_bar 函数,我们模拟一个耗时较长的任务,例如下载文件或处理大量数据。我们将使用一个简单的循环来模拟任务的进展,并在每次迭代中调用 progress_bar 函数。

# 示例用法
total_steps = 100
for step in range(total_steps + 1):
    progress_bar(step, total_steps)
    time.sleep(0.1)  # 模拟耗时操作

运行上述代码后,你将在控制台上看到一个动态更新的进度条,如下所示:

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容