<pre><code># sudo pip3 install tqdm
import time
import tqdm
records = ['a', 'b', 'c', 'd', 'e']
with tqdm.tqdm(smoothing=0.1, total=len(records)) as pbar:
for k, record in enumerate(records):
time.sleep(1)
pbar.update()
</code></pre>
<p><a href="https://i.stack.imgur.com/f2RzE.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/f2RzE.gif" alt="enter image description here"/></a></p>
<hr/>
<p>这都是相对的,所以让我们做一些一般的数学。:)</p>
<pre><code># sudo pip3 install tqdm
import time
import tqdm
total = 5000
_number_left = 5000
with tqdm.tqdm(smoothing=0.1, total=total) as pbar:
relatively_done = 0
relatively_done_sum = 0
for k in range(0, 5000, 2): # 0, 2, 4, ... 4998
time.sleep(0.0005)
_number_left -= 2 # input from some worker process for example
absolutely_done = total - _number_left
relatively_done = absolutely_done - relatively_done_sum
relatively_done_sum += relatively_done
pbar.update(relatively_done)
</code></pre>
<p><a href="https://i.stack.imgur.com/o3kvp.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/o3kvp.gif" alt="enter image description here"/></a></p>