Python中的进度条
可以理解的是,当我们不知道一个进程将花费多少时间时,我们会有点不耐烦,例如,for 循环或文件下载或应用程序启动。
为了分散我们的注意力,我们获得了Python语言的库tqdm和progressbar ,这使我们能够使用进度条直观地说明流程完成时间。加载条经常出现在游戏屏幕上,因为游戏运行所需的资源正在被获取到主内存中。
使用 tqdm它能做什么
它能做什么
它用 tqdm 包装了一个可迭代对象,以使用tqdm
内置的方法来装饰它并制作一个加载栏。这将使用户忘记该过程需要多长时间才能完成。
如何使用
我们需要做的就是,通过在终端中输入这一行来安装tqdm
包,然后开始编写代码。
->pip install tqdm
并在您的编辑器中输入此代码。
from tqdm import tqdm
for i in tqdm (range (100), desc="Loading..."):
pass
输出:
这提供了一个非常快速的加载栏,因为循环中没有任何内容。您可以将 pass 关键字替换为您想要在 for 循环中执行的任何工作。
from tqdm import tqdm
import time
for i in tqdm (range (101),
desc="Loading…",
ascii=False, ncols=75):
time.sleep(0.01)
print("Complete.")
输出:
使用进度条如何安装
如何安装
对于命令行界面
pip install progressbar
(or)
pip install progressbar2
在职的
它所做的一切都与tqdm
包相同,即它使用内置小部件装饰可迭代对象,以制作动画进度条甚至是彩色进度条。小部件是根据进度条显示的对象。
但是,进度条和进度条 2 包比 tqdm 包有很多额外的、有用的方法。例如,我们可以制作一个动画加载栏。
import progressbar
import time
# Function to create
def animated_marker():
widgets = ['Loading: ', progressbar.AnimatedMarker()]
bar = progressbar.ProgressBar(widgets=widgets).start()
for i in range(50):
time.sleep(0.1)
bar.update(i)
# Driver's code
animated_marker()
输出:
在progressbar.AnimatedMarker()
中,我们可以将任何字符序列传递给动画。默认参数是'|/-\|'
这是另一个使用 ProgressBar 类的一些常用小部件的示例。
import time
import progressbar
widgets = [' [',
progressbar.Timer(format= 'elapsed time: %(elapsed)s'),
'] ',
progressbar.Bar('*'),' (',
progressbar.ETA(), ') ',
]
bar = progressbar.ProgressBar(max_value=200,
widgets=widgets).start()
for i in range(200):
time.sleep(0.1)
bar.update(i)
输出: