#textprobar.py
import time
scale =
50print
("執行開始"
.center(scale//2,
"-")
)start = time.perf_counter(
)for i in
range(1
,scale+1)
: a =
'*'* i
b ='.'*
(scale - i)
c =(i/scale)
*100
dur = time.perf_counter(
)- start
print
("\r%[{}->{}]s"
.format
(c, a, b, dur)
, end="")
time.sleep(
0.1)
print
("\n"
+"執行結束"
.center(scale//2,
'-')
)
第一行是**的檔名,命名規則按照單詞含義,首字母大寫,本例含義為文字進度條。
import time
這一行**是引入time庫。一般來說引入第三方庫的語法如下:
2.1直接引入第三方庫
import
《庫名》
2.2引入第三方庫指定函式
from
《庫名》
import
《函式名》
from
《庫名》
import
*#使用*引入該庫中所有的函式
2.3引入庫並設定別名
import
《庫名》
as rename
推薦:直接引入庫,這樣能避免第三方庫函式與標準庫發生衝突,呼叫方式為:
《庫名》
.《函式名》
(《函式引數》
)
設定文字進度條列印次數為50。(scale:規模,範圍)
列印文字進度條開始橫幅,這裡用到了字串函式center1
str.center.(width [,fillchar])
str
.center.
(width [
,fillchar]
)#str字串
#width輸出字串的寬度
#fillchar,可選,填充的字串,如不填則為空格
這裡使用到了time庫中的perf_counter()
2
函式start = time.perf_counter(
)end = time.perf_counter(
)dur = end -start
迴圈,[for i in range(m, n)]
3
是常用的產生計數的迴圈
for i in
range
(m, n):
《語句塊》
#從m到n-1,步長為1,共n-1-m次
如果是從1開始就可以簡化為:
for i in
range
(m):
《語句塊》
#從1到m-1,步長為1,共m-1次
字串的複製,這行是列印print()
4左側的*
字串的複製,這行是列印print()右側的.
用來顯示最左側的百分比。
計算程式已執行的時間。
列印文字進度條。這裡使用了format函式"***".format("對應第乙個槽", "對應第二個槽")
\r是每次列印都將游標移動到最前端
end=""是每次列印不換行
time.sleep()
是time庫里的休眠函式,括號內為休眠的時間s
列印結束標誌
center函式: ↩︎
perf_counter()函式: ↩︎
for i in range(m, n)函式: ↩︎
print()函式: ↩︎
python 文字進度條
textprobarv.py import time scale 50 print 執行開始 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...
python 文字進度條
需求分析 1 採用字串方式列印可以動態變化的文字進度條 2 進度條需要能在一行中逐漸變化 問題分析 如何獲得文字進度條的變化時間?採用sleep 模擬乙個持續的進度!簡單的開始 import time scale 10 print 執行開始 for i in range scale 1 a i b ...
python 文字進度條
這是乙個利用格式化輸出和時間延遲實現控制颱風格式文字進度條 print 函式在輸出結尾處會自動生成乙個 n 即換行符,從而讓游標移動到下一行行首 import time 引入time函式庫 scale 10print 執行開始 for i in range scale 1 a,b i,scale i...