Barra de progreso de Python a través del módulo de registro
He visto diferentes soluciones para una barra de progreso dentro de Python, pero las soluciones stdout simples no funcionan para mi proyecto. Tengo varias clases y uso el módulo de "registro" para enviar información a STDOUT. Tengo una función de la que quiero mostrar una barra de progreso en una línea, vaciando el búfer cada vez.
Ejemplo del progreso simple:
for i in range(100):
time.sleep(1)
sys.stdout.write("\r%d%%" %i)
sys.stdout.flush()
Cuando trato de escribir a través de STDOUT y luego descargo el búfer, o bien el búfer no se vacía o el progreso no va a ninguna parte. Espero evitar algún tipo de proceso de subprocesos o complicado para hacer esto posible. ¿Alguien tiene una forma preferida de hacer que esto suceda?