天天看點

Python實作控制台輸出文本進度條

主要用到了print中的\r,轉義字元寫進字元串,意義為光标傳回目前行首格,配合end=''即可實作不換行列印新内容同時删除舊内容。

主要用到了print中的\r,轉義字元寫進字元串,意義為​

​光标傳回目前行首格​

​​,配合​

​end=''​

​​即可實作不換行列印新内容同時删除舊内容。

​​​Python基礎 | 字元串格式化輸出及print()函數介紹​​

樣式一:

import time
for i in range(1, 101):
    print("\r{:3}%".format(i), end="")
    time.sleep(0.1)      
Python實作控制台輸出文本進度條

樣式二:

import time
for i in range(1, 101):
    print(f'\r{"▇" * (i // 2)} {i:.0f}%', end='')
    time.sleep(0.1)      
Python實作控制台輸出文本進度條

樣式...(自己來點創意呗)

如果我循環次數不是100怎麼辦?

Python實作控制台輸出文本進度條

看下圖,改我框起來的地方。有時候可能進度條到99%就停下來了,因為​

​range(1,256)​

​​,實際最後的​

​i​

​隻有255就結束了,而除的是256,是以,應該知道怎麼改的吧~

Python實作控制台輸出文本進度條

如果覺得進度條太長怎麼辦,繼續看圖

​注意,因為是字元串計算,必須是字元串整數倍​

Python實作控制台輸出文本進度條

我用的是​

​PyCharm​

​​輸出,不是自帶的​

​IDLE​

​(見下圖),其它的平台還沒試過,感興趣的可以去嘗試嘗試喔~

Python實作控制台輸出文本進度條