如何能在控制台實現在一行中顯示進度的信息呢,就像使用pip安裝時的進度那樣。
如果用print則會打印成多行,下面這個小技巧可以在一行中打印:
import time import sys if __name__ == "__main__": for i in range(1,101): sys.stdout.write('\r{}>{}%'.format('='*(i/10), i)) time.sleep(0.1) sys.stdout.flush()
其關鍵就在於使用'\r'這個轉義字符(回到行首),sys.stdout.write首先打印這一行后不帶任何結尾,使用了轉義字符"\r"使得光標回到行首,再把緩沖區顯示出來,就得到了我們所需要的效果。
效果如下動圖:

另外這里有一個別人寫的進度的第三方庫:https://pypi.python.org/pypi/progressbar2
---------------------------------------------------------------------------------
關注微信公眾號即可在手機上查閱,並可接收更多測試分享~

