Как исправить не отвечающие индикаторы выполнения в моем коде? - PullRequest
0 голосов
/ 06 мая 2019

Я только что наткнулся на библиотеку tqdm и решил поиграть с ней. Я хотел, чтобы два (или более) индикатора выполнения работали одновременно. Я искал вокруг и узнал, что это можно сделать с помощью потоков. К сожалению, когда я запускаю этот код в Google Colab , индикаторы выполнения отображаются для первой итерации и на этом останавливаются, а выполнение ячейки прекращается.

Вот код, который я написал.

from tqdm import tqdm_notebook
import threading
import time

def Pbar(i):
    if i==0:
        bar = tqdm_notebook(desc = '1st bar', total = 100)
        for j in range(100):
            bar.update(j)
            time.sleep(0.2)
    if i==1:
        bar = tqdm_notebook(desc = '2nd bar', total = 100)
        for j in range(100):
            bar.update(j)
            time.sleep(0.4)

threads = []
for i in range(2):
    t = threading.Thread(target = Pbar, args = (i,))
    threads.append(t)

for i in range(2):
    threads[i].start()

Требуется, чтобы индикатор выполнения одновременно обновлялся до завершения, а затем останавливался. Как я могу это исправить?

...