简单的3种python程序进度条(其中第3种还需要再研究一下)

# incoding=gbk

import sys
import time
from time import sleep
from tqdm import tqdm

def progress_bar_1():
    """普通进度条,在代码迭代运行中可以自己进行统计计算,并使用格式化字符串输出代码
    运行进度"""
    scale = 50
    print("执行开始,祈祷不报错".center(scale // 2,"-"))
    for i in range(1, 101):
        print("\r", end="")
        print("Download progress: {}%: ".format(i), "" * (i // 5), end="")
        sys.stdout.flush()
        time.sleep(0.1)
    print("\n"+"执行结束,万幸".center(scale // 2,"-"))

def progress_bar_2():
    """带时间进度条,导入time模块来计算代码运行的时间,加上代码迭代进度使用格式化
    字符串来输出代码运行进度"""
    scale = 50
    print("执行开始,祈祷不报错".center(scale // 2,"-"))
    start = time.perf_counter()
    for i in range(scale + 1):
        a = "*" * i
        b = "." * (scale - i)
        c = (i / scale) * 100
        dur = time.perf_counter() - start
        print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = "")
        time.sleep(0.1)
    print("\n"+"执行结束,万幸".center(scale // 2,"-"))

def progress_bar_3():
    """tpdm进度条,这是一个专门生成进度条的工具包,可以使用pip在终端进行下载,当然
    还能切换进度条风格,,需要再研究一下"""
    scale = 50
    print("执行开始,祈祷不报错".center(scale // 2,"-"))
    # 这里同样的,tqdm就是这个进度条最常用的一个方法
    # 里面存一个可迭代对象
    for i in tqdm(range(1, 300)):
       # 模拟你的任务
       sleep(0.01)
    sleep(0.5)
    print("\n"+"执行结束,万幸".center(scale // 2,"-"))

progress_bar_3()

 

posted @ 2020-10-14 16:31  tzg_雨中人  阅读(263)  评论(0)    收藏  举报