Отслеживаем прогресс выполнения в Python
Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.
Человек ранее не использовавший индикаторы прогресса может предположить, что их внедрение может сильно усложнить код. К счастью, это не так. Небольшие примеры ниже покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе быстро набирающей популярность графической библиотеки PySimpleGUI.
Используем Progress
Первым у нас идёт модуль Progress.
Всё, что от вас потребуется, это указать количество ожидаемых итераций, тип индикатора и вызывать функцию при каждой итерации:
Есть индикаторы на любой вкус:
Используем tqdm
Следующей на очереди идёт библиотека tqdm.
Быстрый и расширяемый индикатор прогресса для Python и CLI
Всего один вызов функции понадобится для получения результата аналогичного предыдущему:
Само собой, в комплекте идёт куча настроек и опций.
Используем alive-progress
Ещё один вариант синтаксиса, побольше дефолтных анимаций, чем в предыдущих примерах:
GUI индикатор прогресса для скрипта
Иногда возникает необходимость предоставить конечному пользователю графический индикатор.
Сколько кода нужно, чтобы достигнуть такого результата? Немного:
Индикатор в приложении PySimpleGUI
Рассмотрим реализацию индикатора в PySimpleGUI.
Вот как это сделать:
Заключение
Как видите, нет ничего сложного в добавлении информации о прогрессе выполнения: кода немного, а отзывчивость повышается очень сильно. Используйте индикаторы, чтобы больше никогда не гадать, завис ли процесс или нет!
Отслеживаем прогресс выполнения в Python
Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.
Человек ранее не использовавший индикаторы прогресса может предположить, что их внедрение может сильно усложнить код. К счастью, это не так. Небольшие примеры ниже покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе быстро набирающей популярность графической библиотеки PySimpleGUI.
Используем Progress
Первым у нас идёт модуль Progress.
Всё, что от вас потребуется, это указать количество ожидаемых итераций, тип индикатора и вызывать функцию при каждой итерации:
Есть индикаторы на любой вкус:
Используем tqdm
Следующей на очереди идёт библиотека tqdm.
Быстрый и расширяемый индикатор прогресса для Python и CLI
Всего один вызов функции понадобится для получения результата аналогичного предыдущему:
Само собой, в комплекте идёт куча настроек и опций.
Используем alive-progress
Ещё один вариант синтаксиса, побольше дефолтных анимаций, чем в предыдущих примерах:
GUI индикатор прогресса для скрипта
Иногда возникает необходимость предоставить конечному пользователю графический индикатор.
Сколько кода нужно, чтобы достигнуть такого результата? Немного:
Индикатор в приложении PySimpleGUI
Рассмотрим реализацию индикатора в PySimpleGUI.
Вот как это сделать:
Заключение
Как видите, нет ничего сложного в добавлении информации о прогрессе выполнения: кода немного, а отзывчивость повышается очень сильно. Используйте индикаторы, чтобы больше никогда не гадать, завис ли процесс или нет!
Python Tqdm: Making Progress Bar Made Easy

It is a proven fact that we humans love visuals and understand them better than anything else. The same is the case when we are working with large datasets and doing processing jobs. If you know deep learning, you will agree with me how boring it gets when we don’t know how much time it will take for our model to build. But suppose if we have some progress bars that show us how much progress we have made and how much time it is left, wouldn’t that be great. Yes, that is possible. Possible if we use the tqdm library in python.
Using the tqdm library, we can make console line progress bars and progress bars with GUI. By utilizing these progress bars, we can see if we are getting stuck somewhere and work on that immediately. Also, when we know how much time it will take us to complete the task, we can give our clients actual time for delivery.
Installing and Using Python tqdm
It’s not like tqdm are the only way of making progress bars in python, there are many other methods too. But working with tqdm is a lot easier than many of them. To use it, we first need to install it.
To install it use- pip install tqdm
There are multiple parameters in a tqdm; let us understand them one by one.
Parameters in Python Tqdm
Iterable– It can be a range, a list whose progress we have to check.
The above output shows that a total of 200 iterations took place at a speed of 94.85 iterations per second. The total time was approx. 2 seconds.
desc: Using this parameter, we can specify the text we want to show before the progress bar.
The above output shows that 5000000 iterations have taken place at a speed of 4389678.95it/s.
Disable:- If we do not need to show the progress bar, we can set disable=True. By default, disable is set to False.
ncols: This parameter is used to specify the number of columns in which we want to display the output.
To better understand this parameter, we will try to give two different arguments to this parameter.
ascii: Using this parameter, we can give whatever value we want to in the progress bar. You will better understand this with an example.
Examples of Python tqdm Using List Comprehension
Python tqdm With GUI
You can also make the progress bar with GUI which can surely help you understand better about the progress. Python tqdm library has a separate function ‘tqdm_gui’ for this task with almost the same function just different names and Interface.

Tqdm With Map Python
Sometimes, we need to use Tqdm with the functions like map, reduce, or filter. Integrating the tqdm can be quite tricky on these functions can be tricky as the map function returns a generator rather than a list. The following example can help you to understand the implementation of tqdm with a map in python.
Code –
Output –
Explanation –
We first import the tqdm module which is expected to receive an iterable object in it. In this specific example, we’ve used the range() function to provide an iterable for tqdm. You can use any iterable according to your need. Then we mapped the tqdm object with an str() function to get the result.
Integrating Pandas Data Frame and Python tqdm
| 0 | 1 | 2 | 3 | 4 | 5 | |
| 0 | 8649 | 1764 | 9801 | 9801 | 3364 | 9 |
| 1 | 2209 | 9 | 7396 | 5929 | 8464 | 25 |
| 2 | 6561 | 441 | 100 | 1521 | 2916 | 169 |
| 3 | 6084 | 121 | 784 | 9801 | 7744 | 1296 |
| 4 | 7396 | 1 | 2500 | 81 | 100 | 7569 |
| 5 | 4761 | 4624 | 7056 | 121 | 25 | 6400 |
| 6 | 225 | 5476 | 6241 | 3249 | 196 | 7744 |
| 7 | 2401 | 4489 | 5625 | 676 | 36 | 6724 |
| 8 | 25 | 2809 | 4489 | 1369 | 729 | 8464 |
| 9 | 64 | 9801 | 2209 | 900 | 1225 | 4225 |
Must Read
Conclusion-
We have discussed almost everything you will need to make use of python tqdm in real life. We used it on ranges, lists, and data frames. Try to explore more by using it on Files.
Try to run the programs on your side and let us know if you have any queries.