Изменение описания после цикла for в tqdm - PullRequest
0 голосов
/ 21 февраля 2020

Можно ли задать описание tqdm индикатора выполнения из его значения для l oop?

Простой пример:

with tqdm(range(100), desc='processing') as pbar:
    x = 0
    for i in pbar:
        x += i
    y = x ** 2
    # 3. set description of pbar 'y = {}'.format(y)'

Что следует вставить в место 3.?

РЕДАКТИРОВАТЬ: Точнее, я хочу вычислить y после полного выполнения для l oop, затем я хочу записать значение y в описании индикатора выполнения. (заменяет описание 'processing').

1 Ответ

1 голос
/ 21 февраля 2020

У вас может быть небольшое недопонимание того, как работает tqdm. Существует простая встроенная команда set_description(), чтобы установить описание для индикатора выполнения tqdm в качестве его цикла. В вашем примере кода, если вы попытаетесь установить описание, где у вас есть комментарий, ничего не произойдет, так как вы уже закончили цикл по pbar. (хотя это может быть просто из-за неправильного отступа)

Вот простой пример, показывающий, как меняется описание -

from tqdm import tqdm
import time

pbar = tqdm(range(100), desc='description')

x = 0
for i in pbar:
    x += i
    y = x**2
    pbar.set_description("y = %d" % y)
    time.sleep(0.5)

Это позволит вам увидеть, как описание меняется для каждого l oop итерация.

...