格式化输出时间
import time
import calendar
# 时间戳是以秒为单位的浮点小数
print(time.time())
# 当前时间输出
# time.struct_time(tm_year=2021, tm_mon=8, tm_mday=23, tm_hour=16,
# tm_min=0, tm_sec=6, tm_wday=0, tm_yday=235, tm_isdst=0)
print(time.localtime(time.time()))
# 格式化输出时间,Mon Aug 23 15:59:02 2021
print(time.ctime(time.time()))
# 格式化时间
print(time.asctime(time.localtime(time.time())))
# 格式化成2016-03-20 11:45:39形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# 格式化成Sat Mar 28 22:24:24 2016形式
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")))
# 输出某月份日历
mon = calendar.month(2021, 8)
print(mon)
perf_counter输出进度条
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end=’’)
\r用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,
即在一行不断刷新的效果;{:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,
对应输出的数为c;{},对应输出的数为a;{},对应输出的数为b;{:.2f},输出有两位小数的浮点数,
对应输出的数为dur;end='',用来保证不换行,不加这句默认换行。
import time
scale = 50
# .center() 控制输出的样式,宽度为 25//2,即 22,汉字居中,两侧填充 -
print("执行开始".center(scale // 2, "-"))
# 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1
# 有多少秒。当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点
# B1到B2的计时功能。
start = time.perf_counter()
for i in range(scale + 1):
a = '*' * i # i 个长度的 * 符号
b = '.' * (scale - i) # scale-i) 个长度的 . 符号。符号 * 和 . 总长度为50
c = (i / scale) * 100 # 显示当前进度,百分之多少
dur = time.perf_counter() - start # 计时,计算进度条走到某一百分比的用时
# \r用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,
# 即在一行不断刷新的效果;{:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,
# 对应输出的数为c;{},对应输出的数为a;{},对应输出的数为b;{:.2f},输出有两位小数的浮点数,
# 对应输出的数为dur;end='',用来保证不换行,不加这句默认换行。
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='')
time.sleep(0.1) # 在输出下一个百分之几的进度前,停止0.1秒
print("\n" + "执行结果".center(scale // 2, '-'))