python日记Day04——time库的使用(文本进度条为例)

python日记——time库的使用(文本进度条为例)

一、time库的基本介绍

  • time库是python中处理时间的标准库
  • 可用于计算机时间的表达、提供获取系统时间并格式化输出的功能、提供系统级精确计时功能,用于程序性能分析
  • time库包括三类函数:
    ——时间获取: time() ,ctime(), gmtime()
    ——时间格式化:strftime(),strptime()
    ——程序计时:sleep(),perf_counter()

二、时间获取

  • time():获取当前时间戳,即计算机内部时间值,是一个浮点数。
  • ctime():获取当前时间并以易读方式表示,返回字符串。
  • gmtime():获取当前时间,表示为计算机可处理的时间格式。

三、时间格式化

  • 格式化控制符:%Y:年份;%m:月份;%B:月份名称;%b:月份名称缩写;%d:日期;%A:星期;%a:星期缩写;%H:小时(24时制);%I:小时(12时制);%p:上/下午;%M:分钟;%S:秒。
  • strftime(tpl,ts):将计算机内部时间输出为格式化后的字符串形式,tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量(gmtime)。
  • strptime(str,tpl):将一个字符串变为计算机内部可操作的时间(反格式化),str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果。

四、程序计时应用

  • 程序计时指测量起止动作所经历的时间。
  • perf_counter:返回一个CPU级别的精确时间计数值,单位为秒,由于这个计数值起点不确定,所以连续调用差值才有意义。
  • sleep(s):让程序休眠s秒。

五、实例
为了更好地掌握time库的使用方法,下面介绍一个简单的动态刷新文本进度条案例。

代码:

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='')#end = ''实现动态刷新
    time.sleep(0.1)
print("\n" + "执行结束".center(scale//2,'-'))

运行效果:
在这里插入图片描述在这里插入图片描述
六、文本进度条举一反三

  • 在任何运行时间需要较长的程序中增加进度条
  • 在任何希望提高用户体验的应用中增加进度条
  • 进度条是人机交互的纽带之一
  • 进度条可以有多种表示方法,涉及多种不同的函数,如直接显示当前当前进度,或者在当前为10%时显示为90%,亦或者在当前为90%时显示为10%,根据相关研究表明“开始展示慢一些,后续进度条展示的效果逐渐增加”最符合人类的心理需求。

本文内容参考于北京理工大学嵩天老师相关课程

你可能感兴趣的:(Python笔记)