В языке программирования Python существует несколько библиотек, которые предоставляют инструменты для создания прогресс баров.
1. TQDM (https://github.com/tqdm/tqdm)
TQDM - это простая, но мощная библиотека, которая позволяет легко добавлять прогресс бары к ваши многократным итерациям в цикле. Его можно использовать как для консольных приложений, так и для Jupyter Notebook. TQDM автоматически создает прогресс бары с оценкой времени выполнения и прогрессом в процентах.
Пример простого использования TQDM:
from tqdm import tqdm import time for i in tqdm(range(10)): time.sleep(1)
2. Progress (https://github.com/verigak/progress)
Progress - это еще одна библиотека для прогресс-баров в Python. Он также прост в использовании и обеспечивает создание классического ASCII-прогресс-бара. Progress обеспечивает отображение прошедшего времени, оставшегося времени и прогресса в процентах.
Пример использования Progress:
from progress.bar import Bar import time bar = Bar('Processing', max=10) for i in range(10): time.sleep(1) bar.next() bar.finish()
3. PySimpleGUI (https://pysimplegui.readthedocs.io/)
PySimpleGUI - это библиотека для создания графического интерфейса пользователя (GUI) в Python. Он также предоставляет виджет progressbar
для отображения прогресса в процентах. PySimpleGUI обеспечивает большую гибкость при создании пользовательских интерфейсов и позволяет легко добавлять прогресс-бары.
Пример использования PySimpleGUI для прогресс-бара:
import PySimpleGUI as sg import time layout = [[sg.Text('Processing')], [sg.ProgressBar(10, orientation='h', size=(20, 20), key='progressbar')], [sg.Button('Start'), sg.Button('Exit')]] window = sg.Window('Progress Bar Example', layout) progress_bar = window['progressbar'] while True: event, values = window.read() if event in (None, 'Exit'): break elif event == 'Start': for i in range(10): time.sleep(1) progress_bar.UpdateBar(i + 1) window.close()
Таким образом, в Python существуют несколько библиотек, которые предоставляют инструменты для создания прогресс баров в консольных приложениях или графических интерфейсах. При выборе библиотеки стоит ориентироваться на ваши потребности и требования проекта.