Python编程:文本进度条
本文是学习嵩天老师课程时所做的笔记,代码版权属于嵩天老师。
右侧嵩天老师的课程地址:Python语言程序设计(嵩天)
#TextProBar.py
import time
scale = 50
print("执行开始".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{:^3.0f}%[{}->{}]{:.2f}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()右侧的.
-
用来显示最左侧的百分比。
-
计算程序已运行的时间。
-
打印文本进度条。这里使用了format函数
"{序号:格式控制标记}xxx{序号:格式控制标记}".format("对应第一个槽", "对应第二个槽")
\r是每次打印都将光标移动到最前端
end=""是每次打印不换行
-
time.sleep()
是time库里的休眠函数,括号内为休眠的时间s -
打印结束标志
center函数:https://blog.csdn.net/weixin_42301381/article/details/105132939 ↩︎
perf_counter()函数:https://blog.csdn.net/weixin_42301381/article/details/105135225 ↩︎
for i in range(m, n)函数:https://blog.csdn.net/weixin_42301381/article/details/105136165 ↩︎
print()函数:https://blog.csdn.net/weixin_42301381/article/details/105145629 ↩︎