Индикатор выполнения масштабирования Python TQDM с размером файла

#python #tqdm

Вопрос:

Я использую модуль tqdm python для (пример:) перебора списка файлов, которые должны быть открыты. Обычно показываемый прогресс масштабируется в зависимости от количества файлов. В реальном времени прогресс масштабируется с размером файла (или иногда его квадратом), а не с числом.

Я нашел решение только с помощью метода обновления. Я хочу спросить, есть ли лучший метод. Особенно есть небольшая ошибка после закрытия панели прогресса.

 from tqdm.notebook import tqdm
from numpy import rint, sum
pbar = tqdm(file_paths, total = int(rint(sum(file_sizes)/1024/1024)), unit='mb')
for x in pbar:
        pass  # file open the file and do some calculation
        pbar.update(int(rint(x.stat().st_size//1024/1024)))  # convert bytes into mbytes and round to nearest integer
pbar.close()
 

Я хочу спросить, есть ли:

  • a) является методом добавления весов в конструктор вместо вызова метода обновления
  • б) существует лучший (встроенный) метод округления для индикатора выполнения
  • c) чтобы исправить ошибку: это происходит после того, как на индикаторе выполнения отображается не текущий вес (а длина списка, который был повторен).