- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
對于一些大型的Python程序,我們需要在命令行輸出其百分比,顯得更加友好,以免被人誤會程序陷入死循環、假死的窗體。
關鍵是利用到不換行的輸出符\r,\r的輸出,將直接覆蓋掉此行的內容。
比如如下的程序,是一個i從0自加的十萬的過程,即使對于現在高性能的CPU也是需要幾秒的時間的,我們要輸出其執行時候的百分比,可以在引入sys這個包之后,利用到sys.stdout.write輸出,避免原生態的print自帶的\n影響大局。同時要控制百分比的小數位為4。程序執行的百分比恰好為i當前的值除以值為十萬的total。
#-*-coding:utf-8-*-
import sys;
total=100000
for i in range(0,total):
percent=float(i)*100/float(total)
sys.stdout.write("%.4f"%percent);
sys.stdout.write("%\r");
sys.stdout.flush();
sys.stdout.write("100%!finish!\r");
sys.stdout.flush()
測試結果
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP