📜  Python|如何使用 tqdm 制作终端进度条

📅  最后修改于: 2022-05-13 01:54:18.604000             🧑  作者: Mango

Python|如何使用 tqdm 制作终端进度条

无论您是在安装软件、加载页面还是进行交易,只要您看到小进度条,您就会轻松地估计完成或呈现该过程需要多长时间。如果您的脚本或代码中有一个简单的进度条,它看起来非常悦目,并在用户执行代码时向他们提供适当的反馈。您可以使用Python外部库tqdm来创建简单且无忧的进度条,您可以将其添加到您的代码中,让它看起来更生动!

安装

打开命令提示符或终端并键入:

pip install tqdm

如果您使用的是 Python3,请键入:

pip3 install tqdm

此命令将在您的计算机上成功安装库,现在可以使用了。

用法

使用 tqdm 非常简单,您只需在代码中导入库后在 tqdm() 之间添加您的代码。您需要确保在 tqdm()函数之间放入的代码必须是可迭代的,否则它根本不起作用。
让我们看看以下示例,它可以帮助您更好地理解:
例子:

Python
from tqdm import tqdm
 
 
for i in tqdm(range(int(9e6))):
    pass


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), desc ="Text You Want"):
    sleep(.1)


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), total = 500,
              desc ="Text You Want"):
    sleep(.1)


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), disable = True,
               desc ="Text You Want"):
    sleep(.1)
 
print("Iteration Successful")


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), ncols = 100,
               desc ="Text You Want"):
    sleep(.1)


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), mininterval = 3,
              desc ="Text You Want"):
    sleep(.1)


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100),
              ascii ="123456789$"):
    sleep(.1)


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), unit =" ticks",
              desc ="Text You Want"):
    sleep(.1)


Python
from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), initial = 50,
              desc ="Text You Want"):
    sleep(.1)


输出:

python-tqdm

现在我们知道如何实现 tqdm,让我们看一下它提供的一些重要参数以及如何使用它来调整进度条。

  • desc:您可以使用此参数指定进度条的描述,如下所示:
    句法:
tqdm (self, iterable, desc= “Text You want”)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), desc ="Text You Want"):
    sleep(.1)

输出:

python-tqdm

  • 总计:如果尚未指定或需要修改,则用于指定预期迭代的总数。
    句法:
tqdm (self, iterable, total= 500)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), total = 500,
              desc ="Text You Want"):
    sleep(.1)

输出:

python-tqdm

  • disable:如果要完全禁用进度条,可以使用此参数。
    句法:
tqdm (self, iterable, disable=True)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), disable = True,
               desc ="Text You Want"):
    sleep(.1)
 
print("Iteration Successful")

输出:

python-tqdm

  • ncols:此参数用于指定输出消息的整个宽度。如果未指定,它会根据窗口大小保持动态。这可以通过 ncols 参数修复。
    句法:
tqdm (self, iterable, ncols= 100)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), ncols = 100,
               desc ="Text You Want"):
    sleep(.1)

输出:

python-tqdm

  • mininterval:您可以使用此选项轻松更改最小进度显示更新。默认值为 0.1 秒。
    句法:
tqdm (self, iterable, mininterval=3)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), mininterval = 3,
              desc ="Text You Want"):
    sleep(.1)

输出:

python-tqdm

  • ascii:您可以根据自己的喜好使用 ASCII字符填充进度条。
    句法:

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100),
              ascii ="123456789$"):
    sleep(.1)

输出:

  • 单位:默认的时间单位是“它”,可以通过使用此参数更改为您的首选单位。
    句法:
tqdm (self, iterable, unit= “ ticks”)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), unit =" ticks",
              desc ="Text You Want"):
    sleep(.1)

输出:

python-tqdm

  • 最初的
    进度条的初始值从 0 开始。如果你想改变这个,你可以使用这个参数来从你希望的值初始化进度条
    句法:
tqdm (self, iterable, initial=50)

例子:

Python

from tqdm import tqdm
from time import sleep
 
 
for i in tqdm(range(0, 100), initial = 50,
              desc ="Text You Want"):
    sleep(.1)

输出:

python-tqdm

计数器将从 50 开始,到达最后一个计数器后进度条会消失。循环将继续运行,直到迭代完成。