time库的基本情况
time库是Python中处理时间的标准库
- 计算机时间的表达
- 提取获取系统时间并格式化输出功能
- 提供系统级精确计时功能,用于程序性能分析
import time
time.<b>()
time库包括三类函数
- 时间获取:time()ctime()gmtime()
- 时间格式化:strftime()strtime()
- 程序计时:sleep(),perf_counter()
时间格式化:将时间以合理的方式表现出来。
例 程序计时应用
程序计时指测量起止动作所经历时间的过程
例 文本进度条
采用字符串方式打印可以动态变化的文本进度条。需要在一行中能够变化。
import time scale = 10 print("------执行开始-----") for i in range(scale++1): a='*'*i//表示字符串*被复制的次数 b='.'*(scale-i) c=(i/scale)*100 print("{:^3.0f}%[{}->{}]".format(c,a,b))//设置3个槽 time.sleep(0.1) print("-----执行结束-----")
运行结果
------执行开始----- 0 %[->..........] 10 %[*->.........] 20 %[**->........] 30 %[***->.......] 40 %[****->......] 50 %[*****->.....] 60 %[******->....] 70 %[*******->...] 80 %[********->..] 90 %[*********->.] 100%[**********->] -----执行结束-----
单行动态刷新
- 刷新的本质是:用后打印的字符覆盖之前的字符。
- 不能换行:print()被控制(默认换行)
- 要能回退:打印后光标退回到之前的位置\r
import time scale = 10 print("------执行开始-----") 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.1) print("-----执行结束-----")
完整实现
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_counter()-start print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="") time.sleep(0.1) print("\n"+"执行结束".center(scale//2,'-'))
需要在命令提示符下进行执行操作,在IDLE下\r的功能被屏蔽