Python简单实现一个数字动态进度条

咪哥杂谈

共 768字,需浏览 2分钟

 · 2020-06-01

咪哥杂谈


8548f0dae9ef0bb40fbc42801e8a2e62.webp

本篇阅读时间约为 5 分钟。


1

前言


曾经初学 Python 爬虫时,在中国慕课网上学习爬虫视频时,看到一个很有意思的优化,有时候我们进行爬取内容时,为了用户体验较好,可以动态显示出爬取的进度。


对于进度条的实现来说,其实容易…明白了其背后的简单数学方法,只需一行即可实现。


先来看下效果:


6e2358e6414dd685f3226666d70c6b90.webp


2

思路及代码讲解


一、思路以及讲解
假设有一个1000000数据的列表(为了让进度条可以显示出来,很大的数据),我们每次循环遍历这个列表时向文件中输出,其中增加一个计数器,每次写文件的过程中循环通过计数器来记录,而最后显示的百分比进度则是用(计数器/list的长度)*100。


二、代码实现


feeeeeacce44fb12632877274e7d20fc.webp


其中的核心代码利用了 Python 自带的 print 小技巧,可以看下面的解释:


'''\r:每次讲控制台的光标移动到首位,去掉则不会呈现刷新的效果,最终是打印一行.end='':print输出不换行,若去掉,则会在控制台每次换行打印当前进度.'''print('\r当前速度:{:.2f}%'.format(count*100/len(list_bar)),end='')


3

Python第三方进度条库


对于 Python 这门语言,必然有已经实现好的进度条库tqdm,在早期的这篇文章,曾经用过此库:
python小课堂17 - 30行代码破解加密ZIP文件

感兴趣可以看下,使用方法非常简单,只需将你循环遍历的对象套上它即可,不过多赘述。


4

结语


对于自己写的小脚本(纯命令行的情况下)来说,如果你想知道自己的程序任务跑到哪里了,还有多少没有跑完,那么不妨利用下今天文章中的小技巧,来帮自己实现一个可视化的进度。


好啦,这就是本期的全部内容了,如果你有什么想沟通的欢迎评论区留言!




▼往期精彩回顾▼Python实用小工具之文件内容替换




浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报