一、时间获取
形式:time() ctime() gmtime()
>>>time.time()
>#获取当前的时间,浮点数类型
>>>time.ctime()
>'Fri jan 26 12:23:26 2018'
>#获取的最简单易懂的时间
>>>time.gmtime()
>#获取的是计算机程序可以利用的时间格式
二、时间格式化
形式:strftime() strptime()
>>>t=time.gmtime()
>time.strftime("%Y-%m-%d %H:%M:%S",t)
'2018-1-16 12:30:26'
#"%Y-%m-%d %H:%M:%S" 表示输出的格式;t是变量
#6个时间格式化控制符
%Y年份,%m月份,%B月份名称,%b月份名称缩写,%A星期英文名称,%a星期名称简写,%d日期,%H小时,%I12进制小时,%M分钟,%S秒,%P上下午标志
三、程序计时应用
形式:产生时间:sleep() 测量时间:perf_counter()
>>>start=time.perf_counter()
>123.45678900000000
>>>end=time.perf_counter()
>234.56789000000000
>>>end-start
>111.111101
#perf_couter需要在程序中连续调用,测量时间差
>>>def wait():
> time.sleep(3.3)
>>>wait()
#程序将等待3.3秒再退出,sleep函数可以产生持续不断的时间
四、简单的文本进度条
#TestProBarV1.py
import time
scale=10
#设定变量scale表示文本进度条的宽度,
print("-----执行开始-----")
#设定执行开始和结束的标志
for i in range(scale+1 ):
#循环打印文本进度条,和time.sleep共用,一个结束重新打印下一个
a='*'*i
#字符串*整数,表示字符串被重复的次数
b='.'*(scale-i)
c=(i/scale)*100
#表示获得的百分比
print("{:^3.0f}%[{}->{}]".format(c,a,b))
#三个槽 例如:print("转换后的温度是{:.2f}C".format(C))
time.sleep(0.1)
print("-----执行结束-----")
-----执行开始-----
0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
-----执行结束-----
五、单行动态刷新文本进度条
1、刷新:后打印的进度条覆盖前打印的
2、不能换行
3、要能回退\r
#TestProBarV2
import time
for i in range(101):
print("\r{:3}%".format(i),end="")
#\r表示光标定在初始位置。 ,end=""表示不换行,光标定在文字结束处,如果需要填充即在引号中填写
time.sleep(0.1)
六、完整版文本进度条
#TestProBarV2
import time
scale=50
print("执行开始".center(scale//2,"-"))
#利用.center( ,“”)的方式实行居中填充
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,"-"))
-----------执行开始----------
100%[**************************************************->5.21s
-----------执行结束----------