大多数人都是喜欢有掌控感的,不管是做事情还是学东西,都希望了解的多一点。如果没有掌控感,你就容易慌,焦虑急躁。其实这是很正常的一种心理,利用好可以变成一种正向驱动力。
都有下载过文件或者软件的体会,小的文件比如图片很快就能下载好;大的文件下载过程中如果不给你任何提示,你绝对会有很多疑惑,这个文件下载了多少了,什么时候可以下好,下载的快还是慢你都不清楚,你唯一能做的就是干等,可能你等了大半天,结果告诉你网络连接失败,请重新下载等。
进度条的出现帮助我们解决了上面的问题,最基本的进度条得显示出我们当前任务已经完成的进度,优化一下还可以显示当前文件的大小,下载的速度如何,下载完成还需要多长时间等。
第一种:纯数字显示完成进度
这里为了减低难度,没有去真实下载文件,只是模拟一下效果,实际应用只要把对应部分替换一下就可以了。
理解:
这里最主要的就是r的理解,通常print语句是会换行的,加上end=""就可以实现不换行了,但是会一直拼接在后面。
为了解决这个问题,就需要理解r这个内容了。
n是换行,这个很容易理解,就是另起一行开始。r是回车,通常我们按下enter键也说回车键,实际中enter键的作用是换行加回车;回车是复位,回到原来的起点位置的意思,每次回到原来的位置输出数字,这样就实现了单行刷新的效果 了。time.sleep()是起延时效果,没有就会一下到100%
第二种:图形化进度条
这里是故意设置成100的,便于演示进度的效果,进度条的外观效果,主要通过a,b,c和输出的字符串效果来控制,可以根据自己的喜好自己设置。
这里的特殊字符可以通过charmap去查找。
加上两个竖线表示范围效果
使用 # 和 * 表示
第三种:添加耗时的图形化进度条
总结:
这里试了几种方法,还有很有其它想法可以自己去试试,后面的文章会用实际下载内容再来展示效果。
(全文完)