time 库

time 库的三类函数
时间获取:
>>> import time
>>> time.time()
1570150181.4052463#单位为秒
>>> time.ctime()
'Fri Oct  4 08:49:48 2019'#当前日期
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=4, tm_hour=0, tm_min=51, tm_sec=25, tm_wday=4, tm_yday=277, tm_isdst=0)
时间格式化:
strftime(tpl,ts)#tpl 格式化模板字符串,用来定义输出效果
ts是计算机内部时间类型变量
>>> t = time.gmtime()
>>> time.strftime("%Y-%m-%d %H:%M:%S",t)
'2019-10-04 00:55:38'
>>> timestr = "2018-02-23 14:25:03"
>>> time.strptime(timestr,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=23, tm_hour=14, tm_min=25, tm_sec=3, tm_wday=4, tm_yday=54, tm_isdst=-1)

 

程序计时
>>> start = time.perf_counter()
>>> end1 = time.perf_counter()
>>> end1-start
39.24317029999975
>>> end2 = time.perf_counter()#都是基于最开始的调用
>>> end2-start
56.55061230000001
>>> end2-end1
17.307442000000265
sleep函数
>>> def wait():
    time.sleep(1.2)
>>> wait()#程序停滞了1.2s
#打印进度条
import time
scale = 10
for i in range(scale+1):
    a= '*'*i
    b = '.'*(scale-i)
    c = i*10
    print("{:^3}%[{}->{}]".format(c,a,b))
    time.sleep(0.1)
文本进度条的单行刷新
刷新的本质:用后打印的字符覆盖之前的字符
不能换行,要能回退(打印后光标退回到之前的位置
)
 光标回到行首
#打印进度条
import time
for i in range(101):
    print("
{:3}%".format(i),end='')
    time.sleep(0.1)
在IDLE里面屏蔽了
,但是可以在cmd运行

#较为完善的单行刷新
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*2
    d= time.perf_counter()-start
    print("
{:^3}%[{}->{}] {:.2f}s".format(c,a,b,d),end='')
    time.sleep(0.1)
print("
"+"执行结束".center(scale//2,'-'))

原文地址:https://www.cnblogs.com/tingtin/p/11621388.html