Buat Bar Kemajuan dalam Python CLI

Buat Bar Kemajuan dalam Python CLI

Setiap kali anda memuat turun fail atau memulakan permainan, anda melihat animasi estetik yang mengemas kini sendiri sehingga selesai. Ini ialah bar kemajuan. Bar kemajuan ialah elemen grafik yang digunakan untuk menggambarkan kemajuan tugas seperti memuat turun, memuat naik atau memindahkan fail.





Terdapat dua jenis bar kemajuan: tentu dan tidak tentu. Tentukan bar kemajuan menjejaki kemajuan tugasan dari semasa ke semasa. Bar kemajuan tak tentu berjalan tak terhingga dengan animasi gelung.





MAKEUSEOF VIDEO OF THE DAY

Jadi, bagaimana anda boleh membuat bar kemajuan yang pasti dalam program CLI Python?





Apakah Modul tqdm?

tqdm ialah modul yang diselenggara terutamanya oleh Casper da Costa-Luis bersama sepuluh ahli lain. tqdm berasal daripada perkataan Arab taqaddum yang boleh bermaksud 'kemajuan,' dan merupakan singkatan untuk 'Saya sangat sayang kamu' dalam bahasa Sepanyol (te quiero demasiado).

Menggunakan modul tqdm anda boleh membuat bar kemajuan yang menarik dan berfungsi terus di terminal anda. Untuk memasang modul tqdm, buka terminal anda dan jalankan:



pip install tqdm

Apakah Modul masa?

Modul utiliti standard Python termasuk modul masa secara lalai, jadi anda tidak perlu memasangnya. Anda boleh menggunakan fungsi tidur yang disediakan dalam modul masa untuk menambah kelewatan pada aplikasi anda yang akan membantu menggambarkan kemajuan bar.

Anda boleh menggunakan modul masa untuk mendapatkan tarikh dan masa, menjadualkan tugas dan membina aplikasi berguna seperti a jam penggera mudah , atau jam randik.





Cara Menambah Bar Kemajuan dan Menyesuaikannya

Bar kemajuan lalai mudah digunakan dan anda boleh menyesuaikannya dengan beberapa pilihan.

1. Bar Kemajuan Mudah

Anda boleh mencipta bar kemajuan mudah dengan mengimport kelas tqdm daripada modul tqdm dan fungsi tidur daripada modul masa. Gunakan gelung for dan ulangi tqdm pada julat yang anda inginkan.





Julat boleh sehingga 9e9 (sembilan bilion). Hantarkan bilangan saat ke fungsi tidur untuk menambah kelewatan supaya anda boleh memvisualisasikan dan melihat bar kemajuan dalam tindakan.

Anda boleh melaksanakan bar kemajuan mudah seperti ini:

from tqdm import tqdm 
from time import sleep

for i in tqdm(range(100)):
sleep(.1)

Daripada mengimport tqdm, anda boleh mengimport trange daripada modul tqdm untuk menggabungkan tqdm dan julat serta lulus parameter secara langsung.

from tqdm import trange 
from time import sleep

for i in trange(100):
sleep(.1)

Output yang anda perolehi semasa membuat bar kemajuan mudah kelihatan seperti ini:

  Bar Kemajuan Mudah

Output ini termasuk versi grafik dan teks kemajuan, bersama-sama dengan statistik masa.

2. Bar Kemajuan Dengan Teks Penerangan

Anda boleh menambah label deskriptif pada bar kemajuan untuk menerangkan tujuannya. Hantar teks yang anda ingin paparkan dibalut dengan petikan berganda sebagai desc parameter:

for i in tqdm(range(0, 10), desc ="Progress: "): 
sleep(.4)

Output yang anda perolehi semasa menambah teks penerangan bersama bar kemajuan kelihatan seperti ini:

  Bar kemajuan dengan teks

3. Bar Kemajuan Dengan Lebar Tersuai

Secara lalai, lebar bar kemajuan ditetapkan dinamik kepada saiz tetingkap output. Anda boleh menyesuaikannya mengikut kesukaan anda dengan bantuan ncols parameter.

Anda boleh melaksanakan bar kemajuan dengan lebar tersuai sebagai:

for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "): 
sleep(.1)

Output yang anda perolehi apabila memanjangkan lebar bar kemajuan kelihatan seperti ini:

  Bar kemajuan dengan penerangan dan ncols

4. Bar Kemajuan Menggunakan Warna

Anda boleh menyesuaikan warna bar kemajuan menggunakan parameter warna. Anda boleh melakukan ini dalam dua cara:

  1. Nama warna: Anda boleh menggunakan nama warna seperti hijau, hitam, cyan dan banyak lagi.
  2. Kod Hex: Kod hex ialah satu format di mana komputer menyimpan warna. Anda boleh menandakan warna Hex dengan cincang (#) diikuti dengan 6 aksara dalam perenambelasan (0-9, a-f). Kod hex #000000 mewakili hitam manakala #ffffff mewakili putih. Dengan mengubah keamatan nombor ini, anda memperoleh warna warna yang berbeza. Anda boleh menggunakan Alat Pemilih Warna daripada Google untuk memilih dan menampal warna Kod Hex.

Anda boleh melaksanakan bar kemajuan dengan warna tersuai seperti:

for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "): 
sleep(.1)

Output yang anda perolehi apabila menukar warna bar kemajuan:

  Bar kemajuan dengan warna

5. Bar Kemajuan Dengan Selang Minimum

Anda boleh membuat bar kemajuan yang kemajuan yang dikemas kini dengan selang minimum dan bukannya tetapan lalai. Anda boleh lulus nombor seperti 1.5 atau 2 yang akan berfungsi sebagai selang antara dua kemas kini. Nilai lalai selang minimum ialah 0.1.

Anda boleh melaksanakan bar kemajuan dengan selang minimum seperti:

for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "): 
sleep(.1)

Output yang anda perolehi dengan menentukan selang minimum pada bar kemajuan:

  Bar kemajuan dengan selang min

6. Bar Kemajuan Menggunakan Aksara ASCII

Anda boleh mencipta bar kemajuan menggunakan aksara ASCII dan bukannya bar biasa yang anda lihat pada skrin. Untuk menggunakan aksara ASCII tetapkan ascii parameter kepada format yang dikehendaki.

bagaimana untuk disahkan di instagram 2016

Jika anda menggunakan sesuatu seperti 12345* , setiap lajur julat itu berulang daripada satu kepada asterisk secara berurutan. Walaupun ia sejuk dan boleh disesuaikan, pastikan anda menggunakan mesra pengguna apabila menggunakannya dalam aplikasi sebenar.

Anda boleh melaksanakan bar kemajuan menggunakan aksara ASCII sebagai:

for i in tqdm(range(0, 100), ascii ="12345*"): 
sleep(.1)

Output yang anda perolehi dengan menggunakan aksara ASCII dalam bar kemajuan kelihatan seperti ini:

  Bar kemajuan dengan aksara ASCII

7. Bar Kemajuan Menggunakan Titik Mula Ditentukan

Daripada memulakan bar kemajuan daripada sifar, anda boleh menetapkan titik permulaan khusus untuk bar kemajuan. Lulus nilai permulaan seperti 50 kepada permulaan parameter.

Anda boleh melaksanakan bar kemajuan menggunakan titik mula tertentu sebagai:

for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

Output yang anda perolehi semasa memulakan bar kemajuan pada titik tertentu:

  Bar kemajuan dengan parameter awal

8. Bar Kemajuan Dengan Bilangan Lelaran Tertentu

Anda boleh membuat bar kemajuan yang menjalankan bilangan lelaran tertentu. Jika anda ingin menjalankan 500 lelaran daripada 50000, lulus 500 sebagai julat dan 50000 sebagai jumlah bilangan lelaran kepada jumlah parameter.

Anda boleh melaksanakan bar kemajuan menggunakan bilangan lelaran tertentu sebagai:

for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "): 
sleep(.1)

Output yang anda peroleh menggunakan bar kemajuan dengan bilangan lelaran tertentu:

  Bar kemajuan dengan bilangan lelaran yang ditentukan

Aplikasi Bar Kemajuan

Anda akan melihat bar kemajuan dalam pelbagai situasi, seperti main balik pemain media atau menunjukkan langkah-langkah melalui borang dalam talian.

Walaupun bar kemajuan kelihatan estetik, ia melakukan tugas penting untuk memberikan maklum balas kepada pengguna sekiranya mereka tidak akan meninggalkan tapak web tersebut.