溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現(xiàn)文本進度條 程序進度條 加載進度條 單行刷新功能

發(fā)布時間:2020-09-23 08:06:05 來源:腳本之家 閱讀:362 作者:눈_눈 ax 欄目:開發(fā)技術

python實現(xiàn)文本進度條 程序進度條 加載進度條 單行刷新功能,具體內(nèi)容如下所示:

利用time庫來替代某個程序 的進行過程,做實例,

思路是,簡單打印出來程序進度

單行刷新關鍵是\r,

python默認是print后換行,所以加一個\r是光標回退到之前位置

import time
tm=10
print('{:-^18}'.format('開始'))
for i in range(tm+1):
  a='#'*i
  b='.'*(tm-i)
  c=(i/tm)*100
  print('\r{:^3.0f}%[{}->{}]'.format(c,a,b),end="")#記得要光標回退,這是python3的打法,python2的把最后的end=‘'改了就好
  time.sleep(0.1)#這是模擬程序進程,可將time.sleep替換成程序進程
print('{:-^18}'.format('結束'))

沒有\(zhòng)r的效果是

--------開始--------
 0 %[->..........]
10 %[#->.........]
20 %[##->........]
30 %[###->.......]
40 %[####->......]
50 %[#####->.....]
60 %[######->....]
70 %[#######->...]
80 %[########->..]
90 %[#########->.]
100%[##########->]
--------結束--------

有\(zhòng)r的最終效果是

--------開始--------
100%[##########->]--------結束--------

這里最后兩個重疊了,所以還要加一個換行就好了,最后一行改為、

print('\n'+'{:-^18}'.format('結束'))

ps:下面看下用python實現(xiàn)單行動態(tài)刷新文本進度條

TextProBar.py

import time
scale = 50
print("執(zhí)行開始".center(scale // 2,"-"))
start = time.perf_counter()
for i in range(scale + 1):
  a = "*" * i
  b = "." * (scale - i)
  c = (i / scale) * 100
  dur = time.perf_counter() - start
  print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = "")
  time.sleep(0.1)
print("\n"+"執(zhí)行結束".center(scale // 2,"-"))

\r:可以使打印后的光標退回到之前的位置覆蓋之前的字符,不過會被IDLE屏蔽。所以要用命令行`執(zhí)行
(IDLE本身是編寫程序的開發(fā)環(huán)境,并不是程序運行的主要環(huán)境。正常運行程序我們要么通過雙擊要么通過控制臺,一般很少直接通過IDLE來運行的。由于IDLE被設定為開發(fā)環(huán)境,為了保證其中參數(shù)的運行效果,所以就把其中一個效果\r給屏蔽了)

總結

以上所述是小編給大家介紹的python實現(xiàn)文本進度條 程序進度條 加載進度條 單行刷新,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI