马春杰杰博客
致力于深度学习经验分享!

[mcj]Python中进度条的使用

文章目录
[隐藏]

主要是想要查看Python处理的进度,好在Python有很多库,这次使用的是tqdm

tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windowsLinuxmac等系统,支持循环处理多进程递归处理、还可以结合linux的命令来查看处理情况,等进度展示。

[mcj]Python中进度条的使用

安装

github地址:https://github.com/tqdm/tqdm

想要安装tqdm也是非常简单的,通过pip或conda就可以安装,而且不需要安装其他的依赖库

pip安装

pip install tqdm

conda安装

conda install -c conda-forge tqdm

迭代对象处理

对于可以迭代的对象都可以使用下面这种方式,来实现可视化进度,非常方便

在使用tqdm的时候,可以将tqdm(range(100))替换为trange(100)代码如下

观察处理的数据

通过tqdm提供的set_description方法可以实时查看每次处理的数据

手动设置处理的进度

通过update方法可以控制每次进度条更新的进度

除了使用with之外,还可以使用另外一种方法实现上面的效果

linux命令展示进度条

不使用tqdm

使用tqdm

指定tqdm的参数控制进度条

自定义进度条显示信息

通过set_descriptionset_postfix方法设置进度条显示信息

[mcj]Python中进度条的使用

[mcj]Python中进度条的使用

多层循环进度条

通过tqdm也可以很简单的实现嵌套循环进度条的展示

[mcj]Python中进度条的使用

pycharm中执行以上代码的时候,会出现进度条位置错乱,目前官方并没有给出好的解决方案,这是由于pycharm不支持某些字符导致的,不过可以将上面的代码保存为脚本然后在命令行中执行,效果如下

[mcj]Python中进度条的使用

多进程进度条

在使用多进程处理任务的时候,通过tqdm可以实时查看每一个进程任务的处理情况

[mcj]Python中进度条的使用

pandas中使用tqdm

[mcj]Python中进度条的使用

递归使用进度条

[mcj]Python中进度条的使用

注意

在使用tqdm显示进度条的时候,如果代码中存在print可能会导致输出多行进度条,此时可以将print语句改为tqdm.write,代码如下

如果你对这篇文章有什么疑问或建议,欢迎下面留言提出,我看到会立刻回复!

打赏
未经允许不得转载:马春杰杰 » [mcj]Python中进度条的使用

留个评论吧~ 抢沙发 评论前登陆可免验证码!

私密评论

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址(选填,便于回访^_^)
切换注册

登录

忘记密码 ?

切换登录

注册