【Python】控制台进度条

 在Python开发中,有时需要向用户展示一个任务的进度,以提供更好的交互体验。下面我将展示如何使用Python来创建一个简单的控制台进度条。
效果:
请添加图片描述

代码:

import time
import sys
def print_progress_bar(completed, total, length=50):
    progress = int(length * completed / total)
    bar = '[' + '=' * progress + '-' * (length - progress) + ']'
    percent = round(100.0 * completed / total, 1)
    sys.stdout.write(f'\r{bar} {percent}%')
    sys.stdout.flush()
# 示例用法
total_steps = 100
for i in range(1, total_steps + 1):
    time.sleep(0.1)  # 模拟一个任务
    print_progress_bar(i, total_steps)

说明:

  1. 导入timesys模块。
  2. 定义print_progress_bar函数,它接受当前完成的步骤数completed、总步骤数total和进度条长度length(默认为50)作为参数。
  3. 在函数内部,根据完成的任务比例计算进度条的当前状态,并格式化输出到控制台。
  4. sys.stdout.flush()确保进度条立即刷新,而不是等待缓冲区满。
  5. 在示例用法中,我们模拟了一个总步骤为100的任务,并在每次循环中更新进度条。
    这个进度条是通过在控制台上重复打印来更新的,使用了 carriage return (\r) 来回到行首,这样每次打印都会覆盖上一次的打印内容,从而实现动态更新效果。
    在你的实际项目中,你可以根据需要调整time.sleep(0.1)来模拟不同的任务执行时间,或者将这部分替换为你的实际任务代码。

相关推荐

  1. Python实现进度

    2024-04-11 19:30:06       61 阅读
  2. 进度

    2024-04-11 19:30:06       32 阅读
  3. python制作简单的进度(纯代码)

    2024-04-11 19:30:06       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-11 19:30:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-11 19:30:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-11 19:30:06       82 阅读
  4. Python语言-面向对象

    2024-04-11 19:30:06       91 阅读

热门阅读

  1. 区块链技术在电子元器件商城中的应用探索

    2024-04-11 19:30:06       44 阅读
  2. elasticsearch基础命令

    2024-04-11 19:30:06       39 阅读