Я видел различные решения для индикатора выполнения в Python, но простые решения stdout не работают для моего проекта. Я имею несколько классов и использую модуль "logging" для вывода информации в STDOUT. У меня есть функция, из которой я хочу показать индикатор выполнения на одной строке, каждый раз промывая буфер.
Пример простого хода:
for i in range(100):
time.sleep(1)
sys.stdout.write("\r%d%%" %i)
sys.stdout.flush()
Когда я пытаюсь писать через STDOUT, а затем очищать буфер, либо буфер не сбрасывается, либо прогресс никуда не идет. Я надеюсь избежать какой-либо нити или сложного процесса, чтобы сделать это возможным. Есть ли у кого-то предпочтительный способ сделать это?