python实现在命令行控制台显示字符进度条功能

2022-03-11 00:00:00 命令行 字符 控制台

本文演示了python实现在命令行控制台显示进度条功能,以字符的方式在单行上显示进度,进度条的整体长度固定,进度和百分比同时变化显示。代码使用sys库的sys.stdout.write()函数,这个函数会在控制台输出这个字符串的同时,不加结尾。通过sys.stdout.flush()函数把输出暂时打印在控制台中。使用“\r”转义字(回到行首)。

"""
作者:皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/18
修改日期:2022/3/18
功能描述:python实现在命令行控制台显示进度条功能
"""

import sys
import time

# 输出范例: [=======   ] 75%
# width:定义进度条的整体宽度,整数
# percent:定义当前进度,整数

def progress(width, percent):
    sys.stdout.write("\r皮蛋编程进度条:[%s%s]%d%%" % ((int(percent / 100 * width)) * "=", " " * (width - (int(percent / 100 * width))), percent))
    sys.stdout.flush()


# 模拟工作进度掩饰
for i in range(0, 100):
    progress(50, (i + 1))
    time.sleep(0.1)  # 进入条变化频率设置,可调节

运行结果如下:
皮蛋编程进度条:[=============================== ]63%

以上代码在Python3.9环境下测试通过

相关文章