首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

三行代码创建一个进度条,真香!

以前写代码的时候,希望在运行的时候多 print 出一些提示性信息,感觉满屏显示 debug 的信息特别炫酷,大家有没有跟我一样的感受?

但是渐渐从“菜鸟”变成“老狗”,堆代码的经验上去后,对这种炫酷的界面却有点反感起来了。

现在已经懒得从一堆 debug 信息中选取对自己有用的信息了。

以前跑代码,日志只用 debug 的信息都会存入,然而现在连 warning 都懒得看了。

我以前的代码风格

这是以前我写的爬 ppt 脚本的运行结果:

请求 url 得到 200 的响应码之后,会显示输出一次

在 with open 实现存储之后,再显示输出一次

一个文件爬取会输出两次信息,脚本运行之后也会有那种“炫酷”的感觉~

如果代码运行有错误,当然显示更多信息,会对排 bug 有更大的帮助,但是老是这么输出显示,就有点冗余了。

「对于一些跑量的脚本,把提示信息,换成进度条就香了。」

代码重构

重构前,先介绍下今天要用到的库。

安装

py2 使用安装。

使用

在库中,只用到它的「三个实例方法」,就可实现一个进度条的动作:

「start」 进度条初始化,给它一个目标上限值,例如到 100% 结束,max_value 参数给个 100 就 OK 了。

「update」 更新进度条进度,这个方法执行一次,进度条就会更新一次,value 参数就是要更新的值。

「finish」 关闭进度条,不想再对进度条进行操作,执行它。

代码实例

上面的代码,会执行 10 秒,每秒累加 10 次 1:

执行结果:

当然,这边显示的是已经运行完成的,实际效果这个进度条是动态增加的。

知道用法之后,把这个套路套进我原先的爬虫代码中:

(截取主要代码)

运行脚本后:

代码 finish 关闭进度条实例,达到 100% 后会自动退出。棒!我非常喜欢这样的方式显示。

定制化进度条

如果你觉得这样的显示有点怪,那就定制化它:

修改 widget 参数,并传入。

Bar('+') :调用进度条步进框,并以‘+’符号显示;

Timer() :已用时间;

ETA() :预计剩余时间;

Percentage() :进度百分比;

搞定!

- EOF -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230115A0277400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券