time库——处理时间的标准库
import time
- 时间获取:time() ctime() gmtime()
- 时间格式化:strftime() strptime()
- 程序计时:perf_counter() sleep()
时间获取
函数 | 描述 |
---|---|
time() | 获取当前时间戳,即计算机内部时间值time.time() |
ctime() | 获取当前时间并以易读方式表示返回字符串time.ctime() |
gmtime() | 获取当前时间,表示为计算机可处理的时间格式time.gmtime() |
时间格式化
将时间以合理的方式展现出来
函数 | 描述 |
---|---|
strftime(tpl,ts) | tpl是格式化模板字符串,用来定义输出效果; ts是计算机内部时间类型变量 |
strptime(str,tpl) | str是字符串的时间值;tpl是格式化模板字符串,用来定义输出效果 |
例:
t=time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S",t) #'2020-03-20 17:27:12'
timeStr='2020-03-20 17:27:12'
time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")
格式化控制符:
- %a 星期缩写
- %H 小时(24h制)
- %h 小时(12h制)
- %p 上/下午
- %M 分钟
- %S 秒
程序计时
函数 | 描述 |
---|---|
petf_counter() | 返回一个cpu级别的精确时间计数值,单位为秒,由于这个计数值起点不确定,连续调用差值才有意义; |
sleep(s) | s拟休眠的时间,单位是秒,可以是浮点数 |
start=time.perf_counter()
318.6659499718114
end=time.perf_counter()
341.3905185375658
end-start
22.724523540384666
def wait():
time.sleep(3.3)
wait()#程序等待3.3s后再退出
进度条分析
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))
time.sleep(0.1)
print("-----执行结束----------")
单行动态刷新:
- 刷新的本质:用后打印的字符覆盖之前的字符
- 不能换行:print()需要被控制
- 要能回退:打印后光标回到之前的位置\r
import time
for i in range(101):
print("\r{:3}%".format(i),end="")
time.sleep(0.1)
文本进度条:
import time
scale = 100
print("执行开始".center(scale//1,"-"))
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(" ")
print("\n"+"执行结束".center(scale//1,'-'))