如何进行进度更新并变成进度栏?

时间:2019-04-11 20:09:44

标签: python while-loop progress-bar google-speech-api

我使用的是语音转文字API,在等待结果的同时,我可以使用以下命令打印当前进度百分比:

    while not operation.done():
        print(operation.metadata.progress_percent)
        time.sleep(5)
    print(operation.metadata.progress_percent)

并得到这个:

    0
    2
    3
    ...

如何将其变成进度条?

1 个答案:

答案 0 :(得分:0)

您可以使用回车符\r结束打印语句的行,以覆盖当前行,并使用该行连续“更新”进度条。

打印进度条的示例:

import time

def progress_bar(progress, total=100, bar_length=20):
  # How much of the bar should be filled
  fill = progress * bar_length // total
  # How much of the bar should be empty
  empty = bar_length - fill
  print(f'[{"#"*fill}{"-"*empty}]', end='\r')
  # Go to next line if done
  if progress == total:
    print()

# Emulate a percentage progress
for i in range(0, 101):
  progress_bar(i)
  time.sleep(0.05)

这将输出如下所示的条形图

[##############------]