【问题标题】:How to show percentage along with progress bar in python?如何在python中显示百分比和进度条?
【发布时间】:2021-09-12 16:56:49
【问题描述】:
在python中我可以显示一个进度条:
import time
print("0%\u2502{:>21s}0%".format("\u2502"), end='')
print("\b"*23,end='')
for _ in range(20):
print("\u2588", end='')
time.sleep(.05)
我还想显示百分比。我该怎么做?
【问题讨论】:
标签:
python
progress-bar
f-string
format-string
【解决方案1】:
这就是我处理这项任务的方式
import time
import sys
bar = ''
for i in range(100):
bar += "\u2588"
sys.stdout.write(bar+"\r%d%%" % i)
sys.stdout.flush()
time.sleep(0.05)
基本上,bar 字符串包含打印在控制台上的进度条。
【解决方案2】:
每次使用sys.stdout.write() 和\r 打印一个新字符串,其中百分比和进度条位于前一行之上。
import time
import sys
for x in range(21):
sys.stdout.write("\r{:>3}%\u2502{:<20}\u2502".format(x * 5, "\u2588" * x))
time.sleep(.05)