18 lines
601 B
Python
18 lines
601 B
Python
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 |