Python实现进度条功能

Python实现进度条功能

import sys, time


def progress(percent, width=50):  # 设置进度条的宽度
    if percent >= 100:            # 当百分比 >= 100 时;
        percent = 100             # 直接将百分比设置为 100%
    show_str = ('[%%-%ds]' % width) % (int(width * percent / 100) * '#')  # ('[%%-%ds]' % 50)%(int(50 * 10 / 100) * '#')
    print('
%s %d%%' % (show_str, percent), file=sys.stdout, flush=True, end='')   # 
 是指回到行首 覆盖形式的在打印


#
total_size = 102561               # 数据的总大小
recv_size = 0                     # 接收或传送了多少

while recv_size < total_size:     # 如果接收或发送的 总大小 小于 数据总大小
    time.sleep(0.01)              # 模拟下载的网络延迟
    recv_size += 1024             # 一直循环 发送 数据每次 1024
    recv_per = int(100 * recv_size / total_size)        # 获取 当前传输 百分比 如 31%
    progress(recv_per)            # 将这个值 31 传给 progress

输出:

[##################################################] 100%
原文地址:https://www.cnblogs.com/baolin2200/p/7414268.html