Я не уверен, почему мой индикатор выполнения TQDM разбивается на несколько строк, когда я добавляю цвет с помощью опции bar_format
. Похоже, что это связано и с количеством итераций, потому что когда я запускаю один и тот же код с 10 итерациями вместо 1389, он не разделяется (см. Изображения). Кроме того, когда я запускаю тот же код без изменения цвета панели, он отлично работает.
from tqdm import tqdm
from colorama import Fore
dnames = [...] # List of directories
cmap = [ # List of colors, same length as `dnames`
'\x1b[38;5;231m',
'\x1b[38;5;194m',
'\x1b[38;5;151m',
'\x1b[38;5;114m',
'\x1b[38;5;71m',
'\x1b[38;5;29m',
'\x1b[38;5;22m',
'\x1b[38;5;22m',
'\x1b[38;5;22m',
'\x1b[38;5;22m'
# ...may include many more colors
]
# Initialize progress bar and color variable
pbar = tqdm(dnames, unit='dir')
current_color = None
for i, dname in enumerate(dnames):
# Update color of pbar if different from last iteration
if current_color != cmap[i]:
pbar.bar_format = "{l_bar}%s{bar}%s{r_bar}" % (cmap[i], Fore.RESET)
current_color = cmap[i]
# For loop body goes here
# Update pbar
pbar.update(1)
pbar.close()