将进度条添加到python函数

时间:2018-02-01 23:30:33

标签: python progress-bar

感谢初学者的任何帮助:)我试过以下 但不知道如何包装def Job()

import time
from progressbar import ProgressBar


pbar = ProgressBar()
def job():
        Script ....
        Script ...
        Script ...
        Script ...

3 个答案:

答案 0 :(得分:1)

您可以像这样使用progressbar

import time
from progressbar import ProgressBar

pbar = ProgressBar()

def job():
    for i in pbar(xrange(5)):
        print(i)

job()

输出如下:

0 0% |                                                                         |
120% |##############                                                           |
240% |#############################                                            |
360% |###########################################                              |
480% |##########################################################               |
100% |#########################################################################

我更喜欢tqdm并且它的工作原理相同。

from tqdm import tqdm
for i in tqdm(range(10000)):
    pass

图像

enter image description here

答案 1 :(得分:1)

您可以这样使用bar对象:

import time
import progressbar


def job():
    bar = progressbar.ProgressBar()
    for i in bar(range(100)):
        ... # Code that you want to run
        #time.sleep(0.02)

job()

如果您要执行的代码具有快速执行时间,您可以在其中放置time.sleep(),以便在开始时不将进度条设置为100%。

答案 2 :(得分:0)

从文档中看,它似乎非常直接

pbar = ProgressBar().start()
def job():
   total_steps = 7
    # script 1
    pbar.update((1/7)*100)  # current step/total steps * 100
    # script 2
    pbar.update((2/7)*100)  # current step/total steps * 100
    # ....
    pbar.finish()

另外,请不要害怕查看源代码https://github.com/niltonvolpato/python-progressbar/blob/master/progressbar/progressbar.py