python прогрСсс выполнСния ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡ Π±Π°Ρ€ Π² python: PyPrind с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Π”ΠΎ сих ΠΏΠΎΡ€, Ссли ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Ρ†ΠΈΠΊΠ» ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ процСсс этого Ρ†ΠΈΠΊΠ»Π°, Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ β€œprint”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии процСсса. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΡ‹ объявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-счСтчик, обновляСм Π΅Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ PyPrind.

PyPrind (Python Progress Indicator) прСдоставляСт Π½Π°ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ»Π°), Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π΄Π΅Π»Π°Π΅Ρ‚ процСсс наглядным для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Установка PyPrind

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта pip ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ conda:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования PyPrind

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объявляСм прогрСсс-Π±Π°Ρ€, указывая количСство шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρƒ Π½Π΅Π³ΠΎ.

ПослС объявлСния Π±Π°Ρ€Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· шагов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ update.

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π±Π°Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ шаг для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ.

Π’ консоли Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Помимо прогрСсс-Π±Π°Ρ€Π°, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚.

Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€œProgPercent” ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΠΏΡ†ΠΈΠΈ

НиТС пСрСчислСны ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ:

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ со всСми этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎΡ‚ инструмСнт ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ Π² Π²ΠΈΠ΄Π΅ полосы прогрСсс Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ Π² Π±ΠΎΠ»Π΅Π΅ наглядной Ρ„ΠΎΡ€ΠΌΠ΅.

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ прогрСссС ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² случаС ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹Ρ… процСссов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΈΠ»ΠΈ Ссли ΠΎΠ½ завис.

Π­Ρ‚ΠΎ простой ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π² использовании инструмСнт, хотя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Ρ‚ΡŒ остороТным с настройкой, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π°Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ€Π°Π²Π½ΠΎ количСству шагов Ρ†ΠΈΠΊΠ»Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ прогрСсс выполнСния Π² Python

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. 4660af83f239a7d8e1f14a02fb8ed13d. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-4660af83f239a7d8e1f14a02fb8ed13d. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 4660af83f239a7d8e1f14a02fb8ed13d. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прогрСсса (progress bar) β€” Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹. Они ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‚ нас ΠΎΡ‚ нСобходимости Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Π½Π΅ завис Π»ΠΈ скрипт, Π΄Π°ΡŽΡ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС ΠΎ скорости Π΅Π³ΠΎ выполнСния ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Ρ€Π°Π½Π΅Π΅ Π½Π΅ использовавший ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прогрСсса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ сильно ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, это Π½Π΅ Ρ‚Π°ΠΊ. НСбольшиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡƒΡ‚, ΠΊΠ°ΠΊ быстро ΠΈ просто Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ прогрСсс Π² консоли ΠΈΠ»ΠΈ Π² интСрфСйсС быстро Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PySimpleGUI.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Progress

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Ρƒ нас ΠΈΠ΄Ρ‘Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Progress.

Всё, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ вас потрСбуСтся, это ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΈΠΏ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ:

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. f8956066bc8771df24f3b195b73e9fb1. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-f8956066bc8771df24f3b195b73e9fb1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° f8956066bc8771df24f3b195b73e9fb1. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Π•ΡΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π° любой вкус:

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. 4660af83f239a7d8e1f14a02fb8ed13d. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-4660af83f239a7d8e1f14a02fb8ed13d. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 4660af83f239a7d8e1f14a02fb8ed13d. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ tqdm

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈΠ΄Ρ‘Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° tqdm.

Быстрый ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса для Python ΠΈ CLI

ВсСго ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ понадобится для получСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ:

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. 77a31bde39a1237549def40677d7d653. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-77a31bde39a1237549def40677d7d653. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 77a31bde39a1237549def40677d7d653. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Π‘Π°ΠΌΠΎ собой, Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ ΠΈΠ΄Ρ‘Ρ‚ ΠΊΡƒΡ‡Π° настроСк ΠΈ ΠΎΠΏΡ†ΠΈΠΉ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ alive-progress

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ синтаксиса, побольшС Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Ρ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ, Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…:

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. c605292a0763b239ae950fc4fff0bfec. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-c605292a0763b239ae950fc4fff0bfec. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° c605292a0763b239ae950fc4fff0bfec. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

GUI ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса для скрипта

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ графичСский ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€.

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. f8afd770b2c1c74dfac23dd492c686f5. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-f8afd770b2c1c74dfac23dd492c686f5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° f8afd770b2c1c74dfac23dd492c686f5. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Бколько ΠΊΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°? НСмного:

Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ PySimpleGUI

Рассмотрим Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π² PySimpleGUI.

python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. 580d8d0a3e852ec2ef74db199755f2f6. python прогрСсс выполнСния ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. python прогрСсс выполнСния ΠΊΠΎΠ΄Π°-580d8d0a3e852ec2ef74db199755f2f6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° python прогрСсс выполнСния ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 580d8d0a3e852ec2ef74db199755f2f6. Π― помню Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ большиС Ρ†ΠΈΠΊΠ»Ρ‹. Часто это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибки, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для просмотра Ρ…ΠΎΠ΄Π° выполнСния Π½Π°ΡˆΠΈΡ… процСссов Π½Π° python.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ прогрСссС выполнСния: ΠΊΠΎΠ΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, Π° ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ сильно. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ большС Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π³Π°Π΄Π°Ρ‚ΡŒ, завис Π»ΠΈ процСсс ΠΈΠ»ΠΈ Π½Π΅Ρ‚!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ВыполнСния Python

Как я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΉ скрипт выполняСт ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Ρƒ, которая, вСроятно, Π·Π°ΠΉΠΌΠ΅Ρ‚ врСмя?

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функция, которая Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True ΠΊΠΎΠ³Π΄Π° сдСлано. Как я ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния Π²ΠΎ врСмя выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π±Ρ‹Π»ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поэтому я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ с этим Π΄Π΅Π»Π°Ρ‚ΡŒ. МнС Π½ΡƒΠΆΠ΅Π½ thread для этого? Π― понятия Π½Π΅ имСю.

сСйчас я Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ функция выполняСтся, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ приятно. Π’Π°ΠΊΠΆΠ΅ мСня большС интСрСсуСт, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠ΄Π°.

21 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²:

Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π²ΠΎΡ‚ Ρ‚Π°ΠΊ Π²ΠΎΡ‚) Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простоС Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: этот прогрСссбар являСтся Π²ΠΈΠ»ΠΊΠΎΠΉ progressbar ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ поддСрТивался Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚.

Π‘ tqdm Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса Π² ваши ΠΏΠ΅Ρ‚Π»ΠΈ Π² сСкунду:

ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ прСдлоТСния довольно Ρ…ΠΎΡ€ΠΎΡˆΠΈ, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй просто хотят Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π±Π΅Π· зависимости ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ΅.

Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ· всСх Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ» Π΅Π³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вмСстС с тСстовыми случаями.

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, просто скопируйтС строки Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «def update_progress(progress)», Π½ΠΎ Π½Π΅ тСстовый скрипт. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ sys. Π’Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ…ΠΎΠ΄ выполнСния Π±Π°Ρ€.

это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡƒΡ‚Π΅ΠΌ прямой ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ символа «\r»Π² консоль для пСрСмСщСния курсора ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π½Π°Ρ‡Π°Π»ΠΎ. «print» Π² python Π½Π΅ повторяСт Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ символ для этой Ρ†Π΅Π»ΠΈ, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ‘sys’

Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ тСстового сцСнария (послСдний ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния анимируСтся):

для ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ прилоТСния (отслСТиваниС прогрСсса Π² Ρ†ΠΈΠΊΠ»Π΅) я просто использовал python-progressbar:

ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ,

Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сдСлал простой класс прогрСсса для ΠΌΠΎΠΈΡ… Π½ΡƒΠΆΠ΄ послС поиска здСсь эквивалСнтного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π― ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Ρƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π°Ρ€, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠΌΠ½Π΅ нравится ΠΎΡ‚Π²Π΅Ρ‚ Π‘Ρ€Π°ΠΉΠ°Π½Π° Π₯ΡƒΡƒ для своСй простоты ΠΈ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…. Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ, поэтому я добавляю свою Π²Π΅Ρ€ΡΠΈΡŽ здСсь:

ΠΌΠ½Π΅ ΠΎΡ‡Π΅Π½ΡŒ нравится python-progressbar, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ прост Π² использовании.

для самого простого случая, это просто:

внСшний Π²ΠΈΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ расчСтноС ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ врСмя. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ с:

ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° внСшниС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π½ΠΎ я Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΡƒΠΌΠ°ΡŽ (ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅), Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй просто хотят Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² соотвСтствии с вашими потрСбностями ΠΏΡƒΡ‚Π΅ΠΌ настройки Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠΉ части.

это ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· нСобходимости Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° для обновлСния ΠΏΠ°Π½Π΅Π»ΠΈ. НСкоторыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ° ipython.

ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ(Ρ‚. Π΅. len (ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Python Tqdm: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡΠ° Π›Π΅Π³ΠΊΠΈΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ наш прогрСсс, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ python tqdm ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π°Ρ‚ΡŒ вашС собствСнноС описаниС ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Python Tqdm: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡΠ° Π›Π΅Π³ΠΊΠΈΠΌ

Π­Ρ‚ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹, люди, любим Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’ΠΎ ΠΆΠ΅ самоС происходит, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с большими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ выполняСм Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ со ΠΌΠ½ΠΎΠΉ, ΠΊΠ°ΠΊ это скучно, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ потрСбуСтся для построСния нашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ. Но ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прогрСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°ΠΌ, сколько прогрСсса ΠΌΡ‹ достигли ΠΈ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ, Ρ€Π°Π·Π²Π΅ это Π½Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ? Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ tdm Π² python.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ tqdm, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прогрСсса ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прогрСсса с графичСским интСрфСйсом. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прогрСсса, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π½Π΅ застряли Π»ΠΈ ΠΌΡ‹ Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ этим. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°ΠΌ потрСбуСтся для выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π°Ρ‚ΡŒ нашим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ фактичСскоС врСмя для доставки.

Установка ΠΈ использованиС Python tqdm

Π”Π΅Π»ΠΎ Π½Π΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ tqdm-это СдинствСнный способ создания ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² прогрСсса Π² python, Π΅ΡΡ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Но Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с tqdm Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΈΠ· Π½ΠΈΡ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π½Π°ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Для Π΅Π³ΠΎ установки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ – pip install tqdm

Π’ tdm Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²; Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² Π½ΠΈΡ… ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Python Tqdm

Iterable– Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, список, Ρ…ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности 200 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 94,85 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² сСкунду. ΠžΠ±Ρ‰Π΅Π΅ врСмя составляло ΠΎΠΊ. 2 сСкунды.

desc: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ выполнСния.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ 5000000 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 4389678,95 ΠΈΡ‚/с.

Disable:- Если Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ disable Ρ€Π°Π²Π½ΠΎ False.

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΌΡ‹ попытаСмся Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

ascii: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ выполнСния. Π’Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ это Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Python tqdm с использованиСм понимания списка

Python tqdm Π‘ графичСским интСрфСйсом

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния с графичСским интСрфСйсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, нСсомнСнно, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ…ΠΎΠ΄ выполнСния. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python tqdm ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ β€˜tqdm_gui’ для этой Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ href=”https://en.wikipedia.org/wiki/Interface_(вычислСниС)”>Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ. href=”https://en.wikipedia.org/wiki/Interface_(вычислСниС)”>Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ… Pandas ΠΈ Python tqdm

012345
0864917649801980133649
12209973965929846425
2656144110015212916169
36084121784980177441296
4739612500811007569
5476146247056121256400
62255476624132491967744
7240144895625676366724
8252809448913697298464
9649801220990012254225

Π”ΠΎΠ»ΠΆΠ΅Π½ Π§ΠΈΡ‚Π°Ρ‚ΡŒ

Π’Ρ‹Π²ΠΎΠ΄-

ΠœΡ‹ обсудили ΠΏΠΎΡ‡Ρ‚ΠΈ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ понадобится, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ python tqdm Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. ΠœΡ‹ использовали Π΅Π³ΠΎ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², списков ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ большС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π°Ρ….

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° вашСй сторонС ΠΈ Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Π°Ρ€ На Python ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡ

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΉ скрипт выполняСт ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Ρƒ, которая, вСроятно, Π·Π°ΠΉΠΌΠ΅Ρ‚ врСмя?

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функция, которая Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True ΠΊΠΎΠ³Π΄Π° сдСлано. Как я ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния Π²ΠΎ врСмя выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π±Ρ‹Π»ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поэтому я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ с этим Π΄Π΅Π»Π°Ρ‚ΡŒ. НуТна Π»ΠΈ ΠΌΠ½Π΅ thread для этого? Π― понятия Π½Π΅ имСю.

прямо сСйчас я Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ функция выполняСтся, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ приятно. Π’Π°ΠΊΠΆΠ΅ мСня большС интСрСсуСт, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠ΄Π°.

21 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΊΠ°ΠΊ Π²ΠΎΡ‚ этот) Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простоС сдСлаСт:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: этот progressbar являСтся Π²ΠΈΠ»ΠΊΠΎΠΉ progressbar ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ поддСрТивался Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚.

Π‘ tqdm Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса Π² свои ΠΏΠ΅Ρ‚Π»ΠΈ Π·Π° сСкунду:

Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ прСдлоТСния довольно Ρ…ΠΎΡ€ΠΎΡˆΠΈ, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй просто хотят Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π±Π΅Π· зависимостСй ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ΅.

Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ· всСго Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ» Π΅Π³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вмСстС с тСстовыми случаями.

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, просто скопируйтС строки Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «def update_progress(progress)», Π½ΠΎ Π½Π΅ тСстовый скрипт. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ sys. ΠΠ°Π·Π²Π°Ρ‚ΡŒ это всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ прогрСсс Π±Π°Ρ€.

это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ отправляя символ «\r » Π² консоль, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ курсор ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π½Π°Ρ‡Π°Π»ΠΎ. «print» Π² python Π½Π΅ пСрСсчитываСт Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ символ для этой Ρ†Π΅Π»ΠΈ, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ «sys»

Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ тСстового сцСнария (анимируСтся послСдний ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния):

для ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ прилоТСния (отслСТиваниС прогрСсса Π² Ρ†ΠΈΠΊΠ»Π΅) я просто использовал python-progressbar:

ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΈΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого,

Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сдСлал простой класс прогрСсса для ΠΌΠΎΠΈΡ… Π½ΡƒΠΆΠ΄ послС поиска здСсь эквивалСнтного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π― ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *