📅  最后修改于: 2023-12-03 14:56:51.389000             🧑  作者: Mango
在编写程序的过程中,经常需要观察长时间运行的进度。这时候,终端中的微调器进度就可以派上用场了。微调器进度可以用来显示进度条,提示当前进度。
import sys
def progress_bar(current, total, message=None):
"""
:param current: 当前进度,范围0~total
:param total: 总进度
:param message: 显示在进度条上的文字
"""
if message:
sys.stdout.write('\r{0}:'.format(message))
sys.stdout.write("[{0}{1}] {2:.2f}%".format("#" * int(current * 50 / total), "-" * (50 - int(current * 50 / total)), float(current) / float(total) * 100))
if current == total:
sys.stdout.write('\n')
sys.stdout.flush()
current
: 当前已经完成的进度。类型为整数。total
: 总的进度。类型为整数。message
: 进度条上显示的文字。类型为字符串。调用progress_bar
函数,并传入当前进度和总进度即可显示进度条。下面是一个简单的示例:
import time
for i in range(101):
progress_bar(i, 100, message="Loading")
time.sleep(0.1)
Loading:[##################################################] 100.00%