飞道的博客

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

303人阅读  评论(0)

咪哥杂谈

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

1

前言

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

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

先来看下效果:

2

思路及代码讲解

一、思路以及讲解

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

二、代码实现

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


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

3

Python第三方进度条库

对于 Python 这门语言,必然有已经实现好的进度条库tqdm,在早期的这篇文章,曾经用过此库:

python小课堂17 - 30行代码破解加密ZIP文件

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

4

结语

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

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


往期精彩回顾

Python实用小工具之文件内容替换


转载:https://blog.csdn.net/weixin_38753698/article/details/106485150
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场