【问题标题】: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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-02
        • 2017-03-24
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        • 2021-05-15
        相关资源
        最近更新 更多