面白いPython庫tqdm
2878 ワード
ループの進捗バーを表示できるライブラリは、プログラムがどこまで走ってどのくらいかかるか心配する必要はありません.
tqdm()はiterableのオブジェクトを直接包むことができます
trange(i)はtqdm(range(i))に相当する.
ループの外側でtqdmのオブジェクトを事前に定義できます
2つのパラメータが便利で、desc(str)とleave(bool)descはこのループの情報を指定して区別することができます.上のset_description(str)はこれと同じはずです.leaveは進捗バーが走った後も保持し続けるかどうかを示します
Jupyter Notebookで使用する場合は、tqdmをtqdm_に変更します.notebook,trangeをtnrangeに変更
端末の実行時にループ内に何かを印刷する必要がある場合はprint()を直接使うのではなくtqdmを使う.write(str).Jupyter Notebookではこの問題はなくprint()も使えます.
tqdm()はiterableのオブジェクトを直接包むことができます
from tqdm import tqdm,trange
from time import sleep
text = ""
for char in tqdm(["a", "b", "c", "d"]):
text = text + char
sleep(0.1)
trange(i)はtqdm(range(i))に相当する.
for i in trange(100):
sleep(0.01)
ループの外側でtqdmのオブジェクトを事前に定義できます
pbar = tqdm(["a", "b", "c", "d"])
for char in pbar:
pbar.set_description("Processing %s" % char)
2つのパラメータが便利で、desc(str)とleave(bool)descはこのループの情報を指定して区別することができます.上のset_description(str)はこれと同じはずです.leaveは進捗バーが走った後も保持し続けるかどうかを示します
for i in tqdm(range(10), desc='1st loop'):
for j in trange(100, desc='2nd loop', leave=False):
sleep(0.01)
Jupyter Notebookで使用する場合は、tqdmをtqdm_に変更します.notebook,trangeをtnrangeに変更
from tqdm import tnrange, tqdm_notebook
from time import sleep
for i in tqdm_notebook(range(10), desc='1st loop'):
for j in tnrange(100, desc='2nd loop', leave=False):
sleep(0.01)
端末の実行時にループ内に何かを印刷する必要がある場合はprint()を直接使うのではなくtqdmを使う.write(str).Jupyter Notebookではこの問題はなくprint()も使えます.