📜  Python中的进度条

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

Python中的进度条

可以理解的是,当我们不知道一个进程将花费多少时间时,我们会有点不耐烦,例如,for 循环或文件下载或应用程序启动。

为了分散我们的注意力,我们获得了Python语言的库tqdmprogressbar ,这使我们能够使用进度条直观地说明流程完成时间。加载条经常出现在游戏屏幕上,因为游戏运行所需的资源正在被获取到主内存中。

使用 tqdm

它能做什么

它用 tqdm 包装了一个可迭代对象,以使用tqdm内置的方法来装饰它并制作一个加载栏。这将使用户忘记该过程需要多长时间才能完成。

如何使用

我们需要做的就是,通过在终端中输入这一行来安装tqdm包,然后开始编写代码。

->pip install tqdm

并在您的编辑器中输入此代码。

from tqdm import tqdm
  
for i in tqdm (range (100), desc="Loading..."):
    pass

输出:

蟒蛇-tqdm1

这提供了一个非常快速的加载栏,因为循环中没有任何内容。您可以将 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.")

输出:

蟒蛇-tqdm-2

使用进度条

如何安装

对于命令行界面

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)

输出:
python-进度条