【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)来模拟不同的任务执行时间,或者将这部分替换为你的实际任务代码。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值