Python:如何使用进度栏?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (133)

当我的脚本正在执行一些可能需要时间的任务时,如何使用进度条呢?

例如,一个函数需要一段时间才能完成并返回做完后。如何在函数执行期间显示进度条?

提问于
用户回答回答于
import time
import sys

toolbar_width = 40

# setup toolbar
sys.stdout.write("[%s]" % (" " * toolbar_width))
sys.stdout.flush()
sys.stdout.write("\b" * (toolbar_width+1)) # return to start of line, after '['

for i in xrange(toolbar_width):
    time.sleep(0.1) # do real work here
    # update the bar
    sys.stdout.write("-")
    sys.stdout.flush()

sys.stdout.write("\n")

注意:这个进度条是进度栏已经好几年没被维护过了。

用户回答回答于

使用tqdm您可以在一秒内向循环中添加进度表:

In [20]: import time

In [21]: from tqdm import tqdm

In [23]: for i in tqdm(range(10)):
   ....:     time.sleep(3)

 60%|██████    | 6/10 [00:18<00:12,  0.33 it/s]

扫码关注云+社区

领取腾讯云代金券