In questo articolo vedremo come creare una barra di avanzamento con Python.

Si tratta di definire un segmento di larghezza determinata ponendo a sinistra un carattere di riempimento e a destra la percentuale corrente di avanzamento.

Possiamo implementare la seguente soluzione:

from time import sleep


def progress(percent=0, width=30):
    left = width * percent // 100
    right = width - left
    print('\r[', '#' * left, ' ' * right, ']',
          f' {percent: .0f}%', sep='', end='', flush=True)


for i in range(101):
    progress(i)
    sleep(0.1)

Per simulare un'operazione in svolgimento usiamo in questo caso la funzione sleep() per fare in modo che la progressione da 0 a 100 non sia immediata. Nella realtà la velocità di avanzamento verrà determinata dal tempo in cui ciascuna operazione nel loop verrà completata.