Python进度条



1、转圈

import time

def circle():
    ls = ["|", "/", "—", "\\"]
    while True:
        for i in ls:
            # Python3默认print()换行参数end='\n'
            # \r:将光标的位置回退到本行的开头位置,后面print函数打印的内容会替换上一次print函数的打印内容
            print('\r正在加载中 %s ' % i, end='')
            time.sleep(0.25)

circle()

在这里插入图片描述

2、动态表情

import time

def emoji():
    list1 = ['(づ。◕ᴗᴗ◕。)づ', '(づ。—ᴗᴗ—。)づ']
    list2 = ['u~(@_@)~*', 'u~(—_—)~*']
    while True:
        for a, b in zip(list1, list2):
            print('\r %s %s ' % (a, b), end='')
            time.sleep(0.20)

emoji()

在这里插入图片描述

3、普通进度条

import time

def progress_bar():
    t = 50
    print("开始执行".center(t // 2, "-"))
    for i in range(t + 1):
        # print('\r进度: [%-50s] %.0f%%' % ('#' * i, i * 2), end='')
        # 带颜色的进度条 \033[32m开始 \033[0m结束
        print('\r进度: [\033[32m%-50s\033[0m] \033[32m%.0f%%\033[0m' % ('#' * i, i * 2), end='')
        time.sleep(0.1)
    print("\n" + "执行结束".center(t // 2, "-"))

progress_bar()

在这里插入图片描述

其中使用到的字符串格式化见历史文章:String字符串

4、带时间的进度条

import time

def progress_bar():
    t = 50
    # n // 2:去除除完结果的小数部分
    print("开始执行".center(t // 2, "-"))
    # 返回性能计数器的值(单位:秒)
    start = time.perf_counter()
    for i in range(t + 1):
        f = "#" * i
        o = "." * (t - i)
        p = (i / t) * 100
        d = time.perf_counter() - start
        # :引导符号  ^居中对齐  3输出宽度  .nf输出精度
        # print("\r{:^3.0f}% [{}{}] {:^5} {:.2f}s".format(p, f, o, f"{i}/{t}", d), end="")
        # 带颜色的进度条 \033[32m开始 \033[0m结束
        print("\r{:^3.0f}% [\033[32m{}{}\033[0m] {:^5} \033[32m{:.2f}s\033[0m".format(p, f, o, f"{i}/{t}", d), end="")
        time.sleep(0.1)
    print("\n"+"执行结束".center(t // 2, "-"))

progress_bar()

在这里插入图片描述

5、自定义进度条

import time
import math

def progress_bar(bar_sum: int, bar_len=75):
    m = bar_sum / bar_len
    print("开始执行".center(bar_len // 2, "-"))
    start = time.perf_counter()
    for i in range(bar_sum + 1):
        c = math.floor(i / m)
        f = "#" * c
        o = "." * (bar_len - c)
        p = (i / bar_sum) * 100
        d = time.perf_counter() - start
        print("\r{:^3.0f}% [\033[32m{}{}\033[0m] {:^5} \033[32m{:.2f}s\033[0m".format(p, f, o, f"{i}/{bar_sum}", d), end="")
        time.sleep(0.01)
    print("\n" + "执行结束".center(bar_len // 2, "-"))

progress_bar(1024)

在这里插入图片描述

6、While定时器

import time

count = 100
sta_time = 0

while count > 0:
    count -= 1
    time.sleep(0.1)
    sta_time += 0.1
    print(f"\r正在执行...{round(sta_time, 1)}s", end='')

'''
正在执行...10.0s
'''

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值