tqdm安装使用与单行显示
我们在github上找到大神写好的demo准备试一试、跑一跑的时候,会发现在进行下载或者迭代的时候都有可视化的进度条,让我们对总的迭代时间和当前进度有直观的了解,并不用不断地输出进度信息,看起来就很大佬且优雅,那我们是不是也可以办到这点呢?
1、什么是tqdm
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
2、如何安装
- ubuntu
pip3 install tqdm -m
- windows
python3 -m pip install tqdm
3、为什么要用tqdm?
- 如果不使用进度条是什么样?
- 那添加了输出信息之后呢?
都很不美观是不是?
4、如何正确使用tqdm
一般只要将要迭代的序列作为tqdm()构造方法的参数构造一个tqdm序列对象,然后再用这个对象替代原本序列进行循环即可
from tqdm import tqdm
import timeRE
pbar = tqdm(range(0,100))
for each in pbar:
time.sleep(0.1)
不难发现,的确是出现了进度条,但是它是迭代进度条,不断会重复,那如果我们想要它单行显示的话,就可以通过ncols的参数对其进行约束,一般这个参数自定,调试到恰好占满一行即可,参数ncols解释如下:
ncols : int, optional
The width of the entire output message. If specified, dynamically resizes the progressbar to stay within this bound. If unspecified, attempts to use environment width. The fallback is a meter width of 10 and no limit for the counter and statistics. If 0, will not print any meter (only stats).
from tqdm import tqdm
import time
pbar = tqdm(range(0,100),ncols=100)
for each in pbar:
time.sleep(0.1)
中间状态
结束状态
5、特别的,Jupyter内的使用
IPython/Jupyter is supported via the tqdm.notebook submodule
需要注意的是:据官网说明,Jupyter内使用时,需要调用tqdm的子模块tqdm.notebook,否则会出现一些bug