📜  python中的进度条(1)

📅  最后修改于: 2023-12-03 14:46:41.878000             🧑  作者: Mango

Python中的进度条

在Python开发中,经常会遇到需要展示任务进度的情况,这时候就需要使用进度条来展示进度。Python中有多种进度条库可供选择,下面介绍其中几种。

tqdm库

tqdm是Python中一个流行的进度条库,在终端上可以输出一个进度条,显示任务完成的进度。使用起来非常简单,只需要在循环中添加tqdm即可。以下是一个示例代码:

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)

运行以上代码,会在终端上输出一个进度条,展示任务进度。

通过设置参数可以自定义进度条的样式、速度等。

alive-progress库

alive-progress也是一个Python中的进度条库,可以在终端显示任务进度。相对于tqdm,alive-progress提供了更多的自定义选项。以下是一个示例代码:

from alive_progress import alive_bar
import time

with alive_bar(100) as bar:
    for i in range(100):
        time.sleep(0.1)
        bar()

上述代码使用了with语句,这样会在任务完成后自动关闭进度条。

PySimpleGUI库

PySimpleGUI是一个Python中的图形界面库,除此之外,它也提供了一个简单的进度条组建。使用PySimpleGUI创建进度条需要一些基础的界面元素知识,但是也很容易上手。以下是一个示例代码:

import PySimpleGUI as sg
import time

layout = [[sg.ProgressBar(100, orientation='h', size=(20, 20), key='progressbar')],
          [sg.Cancel()]]

window = sg.Window('进度条', layout)

for i in range(100):
    event, values = window.read(timeout=10)
    if event == 'Cancel' or event == sg.WIN_CLOSED:
        break
    window['progressbar'].update_bar(i + 1)
    time.sleep(0.1)

window.close()

上述代码创建了一个横向的进度条,并使用PySimpleGUI创建了一个取消按钮。

除了tqdm、alive-progress和PySimpleGUI这些库,还有其他许多Python中的进度条库,可以根据需求选择合适的库进行使用。