例4.1.设置一组文本进度条,使之运行效果如下:

--------执行开始--------
% 0 [->**********]
%10 [*->*********]
%20 [**->********]
%30 [***->*******]
%40 [****->******]
%50 [*****->*****]
%60 [******->****]
%70 [*******->***]
%80 [********->**]
%90 [*********->*]
%100[**********->]
--------执行结束--------

 #文本进度条1.py
import time
print("{0:-^20}".format('执行开始'))
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.5)
print("{0:-^20}".format('执行结束'))

在此讲解time库的使用:

获取时间:time() 得到时间戳;  

     ctime()得到时间的字符串表达形式;

     gmtime()得到时间的程序表达形式。

时间格式化:strftime(tpl ,ts ) 其中tpl是格式化模板字符串,ts是计算机内部时间类型变量

        如>>>t = time.gmtime()

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

      strptime(str,tpl)

程序计时:perf_counter() 返回精确的时间计数值。

     sleep(s)休眠时间,s为秒

例4.2在命令提示符窗口实现单行动态刷新,进度条运行效果如下

100%>>>

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

例4.3实现带刷新的文本进度条

 #TextProBarV3.py
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/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.03s
-----------执行结束----------

博客参考《Python程序设计基础》高等教育出版社(第2版) 嵩天,礼欣,黄天羽著

推荐与上述教材配套的北京理工大学 嵩天,礼欣,黄天羽老师的MOOC

Python入门习题4.文本进度条的更多相关文章

  1. 自主学习python文本进度条及π的计算

    经过自己一段时间的学习,已经略有收获了!在整个过程的进行中,在我逐渐通过看书,看案例,做题积累了一些编程python的经验以后,我发现我渐渐爱上了python,爱上了编程! 接下来,当然是又一些有趣的 ...

  2. python预课02 time模块,文本进度条示例,数字类型操作,字符串操作

    time模块 概述:time库是Python中处理时间的标准库,包含以下三类函数 时间获取: time(), ctime(), gmtime() 时间格式化: strftime(), strptime ...

  3. #Python绘制 文本进度条,带刷新、时间暂缓的

    #Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx ...

  4. python实例文本进度条

    简单的文本进度条代码 解析 引入time库 打印一行作为开始 最后也打印一个结束的标签 定义变量等于10,文本进度条大概的宽度是10 使用for循环来模拟进度,for i in range()能够不断 ...

  5. 【Python】文本进度条

    1.0代码: import time#引入time库 scale=10#文本进度条宽度 print("------执行开始------") for i in range(scale ...

  6. 数字,字符串,time模块,文本进度条

    数字和字符串 数字类型 整形 整数, 1/2/3/12/2019 整形用来描述什么, 身高/年龄/体重 age = 18 height = 180 浮点型 浮点数,小数 salary = 10 pri ...

  7. Python中如何写控制台进度条的整理

    本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n ...

  8. 用 Python 给程序加个进度条,让你的看起来更炫酷?

    对于开发或者运维来说,使用 Python 去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效地监控任务的进度?除了在任务中加上 Log 外,还能不能有另一种方式来了解任务进展到哪一步 ...

  9. [ python ] 使用sys模块实现进度条

    在写网络IO传输的时候, 有时候需要进度条来显示当前传输进度,使用 sys 模块就可以实现: sys.stdout.write() 这个函数在在控制台输出字符串不会带任何结尾,这就意味着这个输出还没有 ...

随机推荐

  1. VS Code 设置双快捷键(快速移动光标)

    平时写代码会经常用到上下左右键,比如打出两个括号 () ,编辑完之后得按到右括号后面 难免有这样的场景需要在编辑代码的时候小范围地移动光标,笔者在别的ide的习惯是通过“alt + jkli”来实现光 ...

  2. 通过css样式给表格tbody加垂直滚动条

    tbody加滚动条实现思路: 1,把tbody设置成display:block,然后就对其高度设置一个固定值,overflow设置成auto. 2,把thead的tr设置成display:block. ...

  3. 爬虫技术:数据处理josn和pickle模块

    一:json模块 json模块的作用就是讲json字符串("{"a":1,"b":1}")和python能够识别的字典进行相互转换. imp ...

  4. 使用rabbitctl添加用户

    使用rabbitctl添加用户 第一.添加mq用户并设置密码 root@live-mq-01:~ # rabbitmqctl add_user mq 123456 1 root@live-mq-01: ...

  5. PHP与CI学习笔记

    CodeIgniter框架学习 安装 下载好包后,解压复制 system 和 application 目录到网站目录下 配置 配置目录 打开index.php设置好 $system_path . $a ...

  6. 【leetcode】1054. Distant Barcodes

    题目如下: In a warehouse, there is a row of barcodes, where the i-th barcode is barcodes[i]. Rearrange t ...

  7. 对Promise的研究3

    Promise.race() Promise.race方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例. const p = Promise.race([p1, p2, p ...

  8. 包装CGFloat和用NSNumber初始化的区别?

    @(CGFloat)和[NSNumber numberWith:CGFloat]的区别?

  9. 调整ceph的pg数(pg_num, pgp_num)

    https://www.jianshu.com/p/ae96ee24ef6c 调整ceph的pg数 PG全称是placement groups,它是ceph的逻辑存储单元.在数据存储到cesh时,先打 ...

  10. App中h5音频不能播放问题

    前置:以下问题是针对vue项目的解决方案 问题一:IOS中音频不能自动播放 原因:ios禁止了音频自动播放 解决办法:在vue的生命周期mounted中获取音频Dom并调用音频播放方法play(),注 ...