from tqdm import tqdm from time import sleep with tqdm(total=4, desc='1st loop', position=2) as pbar1: with tqdm(total=5, desc='2nd loop', position=1) as pbar2: with tqdm(total=50, desc='3rd loop', position=0) as pbar3: for i in range(4): pbar2.reset() for j in range(5): pbar3.reset() for k in range(50): pbar3.update(1) sleep(0.01) pbar2.update(1) pbar1.update(1)