Tqdm 是一個快速,可擴展的Python進度條,可以在 Python 長循環中添加一個進度提示信息,用戶只需要封裝任意的迭代器 tqdm(iterator)。
我的系統是window環境,首先安裝python,接下來就是pip。
pip安裝:
在python根目錄下創建一個get-pip.py的文件,內容:
https://bootstrap.pypa.io/get-pip.py
然后在CMD窗口進入python下面:
輸出:
python -m pip install -U pip
由于Tqdm要求的pip版本是9.0所以需要手動安裝pip9.0
http://pypi.python.org/pypi/pip
下載安裝包9.0
然后解壓進入,CMD窗口輸入:python setup.py install
然后就可以安裝Tqdm了,
pip install tqdm
安裝最新的開發版的話
pip install -e git+https://github.com/tqdm/tqdm.git@master#egg=tqdm
最后看看怎么用呢?https://pypi.python.org/pypi/tqdm
基本用法:
from tqdm import tqdm for i in tqdm(range(10000)): sleep(0.01)
當然除了tqdm,還有trange,使用方式完全相同
for i in trange(100): sleep(0.1)
只要傳入list都可以:
pbar = tqdm(["a", "b", "c", "d"]) for char in pbar: pbar.set_description("Processing %s" % char) 也可以手動控制更新
with tqdm(total=100) as pbar: for i in range(10): pbar.update(10)
也可以這樣:
pbar = tqdm(total=100) for i in range(10): pbar.update(10) pbar.close()
在Shell的tqdm用法
統計所有python腳本的行數:
$ time find . -name '*.py' -exec cat /{} /; | wc -l 857365 real 0m3.458s user 0m0.274s sys 0m3.325s $ time find . -name '*.py' -exec cat /{} /; | tqdm | wc -l 857366it [00:03, 246471.31it/s] 857365 real 0m3.585s user 0m0.862s sys 0m3.358s 使用參數:
$ find . -name '*.py' -exec cat /{} /; | tqdm --unit loc --unit_scale --total 857366 >> /dev/null 100%|███████████████████████████████████| 857K/857K [00:04<00:00, 246Kloc/s] 備份一個目錄:
$ 7z a -bd -r backup.7z docs/ | grep Compressing | tqdm --total $(find docs/ -type f | wc -l) --unit files >> backup.log 100%|███████████████████████████████▉| 8014/8014 [01:37<00:00, 82.29files/s]
通過看示范的代碼,我們能發現使用的核心是tqdm和trange這兩個函數,從代碼層面分析tqdm的功能,那首先是init.py
__all__ = ['tqdm', 'tqdm_gui', 'trange', 'tgrange', 'tqdm_pandas', 'tqdm_notebook', 'tnrange', 'main', 'TqdmKeyError', 'TqdmTypeError', '__version__']
新聞熱點
疑難解答