class statusbar: def __init__(self, repeat, length=30, step=1): self.length = length self.repeat = repeat self.steps = repeat/length self.step = step def __iter__(self): self.current = 0 return self def __next__(self): print("["+("#"*int(self.current/self.steps))+(" "*(self.length-int(self.current/self.steps)))+"]"+f"{self.current}/{self.repeat}", end="\r", flush=True) if self.current >= self.repeat: print() raise StopIteration self.current += self.step return self.current-1