python中time库的使用,实例4文本进度条

python语言的计算生态
包括标准库、第三方库 

标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块

 之前学过一个turtle库

还有现在的time库

这两个都是python自带的标准库

time库包括三类函数

时间获取类函数
函数描述
time()获得当前的时间戳,即计算机内部时间值,浮点数
>>>time.time()
ctime()获得当前时间并以易读方式表示,返回字符串
>>>time.ctime()
gmtime()获得当前时间,表示为计算机可处理的时间格式
>>>time.gmtime()

 好准呀就是说nice


时间格式化
函数描述
strftime(tpl,ts)tpl是格式化模板字符串,用来定义输出效果
ts是计算机内部时间类型变量
>>>t=time.gmtime()
>>>time.strftime("%Y-%m-%d %H:%m:%s",t)

 演示一下

import time
t=time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t))

 注意看细节上面这个时间是老不准了


上网查了一下进行了改进

import time
t=time.gmtime()  #这一行显得格外的无用呃呃呃呃,但好像也没有什么影响
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))


那一行在这里略显多余就删了吧 

import time
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))) #yyds


函数描述
strptime(str,tpl)str是字符串形式的时间值
tpl是格式化模板字符串,用来定义输入效果
timestr='2022-12-24 22:58:10'
print(time.strptime(timestr,"%Y-%m-%d %H:%M:%S"))
import time
timestr='2022-12-24 22:58:10'
print(time.strptime(timestr,"%Y-%m-%d %H:%M:%S"))


time库中包含了很多控制符

所有的控制符都是以%

加一个字母的形式来表达的 

格式化字符串时期/时间说明值范围和实例
%Y年份0000~9999,例:2022
%m月份01~12.       例:12
%B月份名称january~december
例:April
%b月份名称缩写jan~dec      例:Apr
%d日期01~31       例:25
%A星期monday~sunday
例:wednesday
%a星期缩写mon~sun    例:wed
%H小时(24小时制)00~23       例:12
%I(这是大写的i)小时(12小时制)01~12     例:6
%p(小写的)上/下午AM,PM       例:PM
%M分钟00~59       例:26
%S(这是大写)00~59       例:26

 我上面的代码之前将分钟和秒的

控制符写成小写了

就一直运行不出来

一定要注意!

程序计时
函数描述
perf_counter()返回一个CPU级别的精确时间计数值,单位为秒
由于这个计数值起点不确定,连续调用差值才有意义
>>>start=time.perf_counter()
>>>end=time.perf_counter()
>>>end-start
sleep(s)s拟休眠的时间,单位是秒,可以是浮点数
>>>def wait():
      time.wait(3.3)
>>>wait() #程序将等待3.3秒后再退出

  文本进度条

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,b,a))
    time.sleep(0.1)
print("======执行结束======")

文本进度条单行动态刷新 

import  time
for i in range (101):
    print("\r{:3}%".format(i),end="")
    time.sleep(0.5)

invalid non-printable character U+2008 无效的不可打印字符U+200B

这个问题上网查了

说是复制上去的格式不对

可是我是本本分分打上去的呀

 听嵩天老师讲的是说

IDLE被设定的就是开发环境

并不是程序运行的主要环境

为了保证其中参数的运行的效果

把\r这个功能屏蔽了

咱也不知道IDLE运行不出来是不是以上原因

反正在pycharm中运行没问题

 这个睡眠时间0.5设置的有点长了

在刷新时能明显感觉速度降下来了

 文本进度条实例完整版

import  time
scale=50
print("执行时间".center(scale//2,"="))
start=time.perf_counter()  #程序计时函数
for i in range (scale+1):
    a='*'* i
    b='.'*(scale-1)
    c=(i/scale)*100
    dur=time.perf_counter()-start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
    time.sleep(0.5) #休眠时间为0.5秒,程序计时函数

 时间要是设置0.1那简直是神速

设置了0.5,方便我截个屏哈哈哈哈

哇塞收获满满!!! 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据的小数据孩儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值