模块二 time库的使用
- time库基本介绍
- 时间获取
- 时间格式化
- 程序计时应用
time库是Python中处理时间的标准库
- 计算机时间的表达
- 提供系统时间并格式化输出
- 提供系统级精确计时功能,用于程序性能分析
time库三类函数
- 时间获取:time() ctime() gmtime()
- 时间格式化:strftime() strptime()
- 程序计时:sleep() perf_counter()
时间获取
- time.time(): 获取当前时间戳(系统中表示时间的浮点数)
- time.ctime(): 获取当前时间并以易读方式表示,返回字符串
- time.gmtime(): 提供计算机程序可以处理的时间格式
时间格式化
strftime(tpl,ts):tpl用来定义输出效果,ts是计算机内部时间类型变量
>>>t = time.gmtime()
>>>print(time.strftime("%Y-%m-%d %H:%M:%S",t))
'2018-01-26 12:55:20'
import time
t = time.gmtime()
timeStr = time.strftime("%Y-%m-%d %H:%M:%S",t)#将计算机内部可以操纵的时间格式化
print("当前时间为:"+timeStr)
print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S"))#将一个格式化字符串转化为计算机内部可以操纵的时间
程序计时
程序计时是指测量起始动作所经历时间的过程
测量时间:perf_counter() (连续调用,计算差值才有意义)
产生时间:sleep(s) s的单位是秒,可以是一个浮点数。函数的意思是:程序休眠一段时间
实例4:文本进度条
文本进度条:一种以文本字符形式形成的、可动态变化的进度条
在一行中根据程序的进度发生变化
用sleep()模拟一个持续的进度
简单的开始
#TextProBarV1.py
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
#TextProBarV2.py
import time
for i in range(101):
print("\r{:3}%",format(i),end="") #end=""的作用是,每次打印后光标不换行,而是停留在字符串的最后
time.sleep(0.1)
idle是编辑器,屏蔽掉了\r,可用CMD
进度条是人机交互的纽带之一。