图片中的这个有没有人会的,用Python解

img


用Python制作一个模拟 windows 启动界面的文本进度条,执行效果上图所示

思路是用\r实现擦除

import time

def progress_bar(total, prefix='', suffix='', decimals=1, length=100, fill='█'):
    """
    total: 进度条所代表的总量
    prefix: 进度条前面显示的文本
    suffix: 进度条后面显示的文本
    decimals: 进度条数字的小数位数
    length: 进度条的总长度 (以字符个数为单位)
    fill: 用来填充进度条的字符
    """
    completed = 0
    percent = 0
    bar = fill * 0 + ' ' * (length - 0)

    while completed <= total:
        percent = round(100 * completed / total, decimals)
        filled_length = int(length * completed // total)
        bar = fill * filled_length + ' ' * (length - filled_length)

        print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix), end = '\r')

        completed += 1
        time.sleep(0.02)

    print('\n')

# 示例用法:
progress_bar(1000, prefix='进度:', suffix='完成!', length=50, fill='█')

以下内容部分参考ChatGPT模型:


可以使用Python中的time模块和sys模块来实现进度条。具体思路是利用sys.stdout.write()函数将进度条输出到控制台,然后使用time.sleep()函数控制进度条的速度。

以下是示例代码:

import time
import sys

# 定义进度条函数
def progress_bar(num):
    # 定义进度条的总长度
    total_length = 50
    # 计算已完成的进度条长度
    done_length = int(num / 100 * total_length)
    # 计算未完成的进度条长度
    undone_length = total_length - done_length
    # 输出进度条
    sys.stdout.write("\r[{}{}] {}%".format("=" * done_length, " " * undone_length, num))
    sys.stdout.flush()

# 模拟进度条的运行
for i in range(101):
    progress_bar(i)
    time.sleep(0.1)

运行以上代码,即可在控制台看到类似于Windows启动界面的文本进度条。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快