time库包含三类函数:
时间获取 |
time() ctime() gmtime() |
时间格式化 |
strftime() strptime() |
程序计时 |
sleep() pref_counter() |
详解:
实例:文本进度条
需求分析
采用字符串方式打印可以动态变化的文本进度条
进度条需要在一行中逐渐变化
版本1
import time
def main():
scale = 10
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.3)
if __name__ == "__main__":
main()
版本2:单行动态刷新
刷新的本质:用打印后的字符覆盖之前的字符
不能被换行:print()需要被控制
要能回退:打印后光标退回到原来的位置 \r
import time
def main():
scale = 50
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)
if __name__ == "__main__":
main()