Python文本進度條實現(xiàn)過程
1、print()函數(shù)
利用print()函數(shù)實現(xiàn)簡單的非刷新文本進度條
1.1 基本思想
按照任務執(zhí)行百分比將整個任務劃分為100個單位,每執(zhí) 行N%輸出一次進度條。每一行輸出包含進度百分比,代表已完成的 部分(**)和未完成的部分(..)的兩種字符,以及一個跟隨完成度前進的 小箭頭,
風格如下:%10 [*****->.............................................]
1.2 代碼示例
import time
scale = 10
print("------執(zhí)行開始------")
for i in range(scale+1):
a, b = '**' * i,'..' * (scale - i)
c = (i/scale)*100
print("%{:^3.0f}[{}->{}]" .format (c, a, b))
time.sleep(0.1)
print("------執(zhí)行結(jié)束------")
1.3 效果

2、單行動態(tài)刷新
IDEA輸出沒有單行刷新,因為IDLE本身屏蔽了單行刷新功能,如果希望獲得刷新效果,請使用PyCharm執(zhí)行
2.1 代碼示例
import time
for i in range(101):
print("\r{:2}%".format(i), end="")
time.sleep(0.05)2.2 結(jié)果


3、帶刷新的文本進度
3.1 代碼示例
import time
scale = 50
print("{0:-^20}".format("執(zhí)行開始"))
for i in range(scale + 1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale) * 100
print("\r{:^3.0f}%{}->{}".format(c,a,b),end="")
time.sleep(0.5)
print("")
print("{0:-^20}".format("執(zhí)行結(jié)束"))3.2 效果



4、進度條設計函數(shù)
| 設計名稱 | 趨勢 | 設計函數(shù) |
| Liner | Constant | f(x) = x |
| Early Pause | Speeds up | f(x) = x+(1-sin(x*π*2+π/2))/-8 |
| Late Pause | Slows down | f(x) = x+(1-sin(x*π*2+π/2))/8 |
| Slow Wavy | Constant | f(x) = x+sin(x*π*5)/20 |
| Fast Wavy | Constant | f(x) = x+sin(x*π*20)/80 |
| Power | Speeds up | f(x) = (x+(1-x)*0.03)2 |
| Inverse Power | Slows down | f(x) = 1+(1-x)1.5 *-1 |
| Fast Power | Speeds up | f(x) = (x+(1-x)/2)8 |
| Inv. Fast Power | Slows down | f(x) = 1+(1-x)3 *-1 |
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python中字符串列表的相互轉(zhuǎn)換實際應用場景
在Python編程中,經(jīng)常會遇到需要將字符串列表相互轉(zhuǎn)換的情況,這涉及到將逗號分隔的字符串轉(zhuǎn)換為列表,或者將列表中的元素連接成一個字符串,本文將深入討論這些情景,并提供豐富的示例代碼,幫助讀者更全面地理解字符串列表的轉(zhuǎn)換操作2023-12-12
Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點圖代碼示例
這篇文章主要介紹了Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點圖實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
Python中operator模塊的操作符使用示例總結(jié)
operator模塊中包含了Python的各種內(nèi)置操作符,諸如邏輯、比較、計算等,這里我們針對一些常用的操作符來作一個Python中operator模塊的操作符使用示例總結(jié):2016-06-06

