أنشئ شريط تقدم في Python CLI

أنشئ شريط تقدم في Python CLI

عندما تقوم بتنزيل ملف أو بدء لعبة ، ترى رسمًا متحركًا جماليًا يقوم بتحديث نفسه حتى يكتمل. هذا هو شريط التقدم. شريط التقدم هو عنصر رسومي يستخدم لتصور تقدم مهمة مثل تنزيل الملفات أو تحميلها أو نقلها.





هناك نوعان من أشرطة التقدم: محدد وغير محدد. تحديد أشرطة التقدم لتعقب تقدم المهمة بمرور الوقت. تعمل أشرطة التقدم غير المحددة بلا حدود مع حركة متكررة.





اجعل فيديو اليوم

لذا ، كيف يمكنك إنشاء شريط تقدم محدد في برنامج Python CLI؟





ما هي وحدة tqdm؟

tqdm هي وحدة يتم صيانتها بشكل أساسي بواسطة Casper da Costa-Luis جنبًا إلى جنب مع عشرة أعضاء آخرين. tqdm مشتق من الكلمة العربية taqaddum التي يمكن أن تعني 'التقدم' ، وهي اختصار لـ 'أحبك كثيراً' في الإسبانية (te quiero demasiado).

باستخدام وحدة tqdm ، يمكنك إنشاء شريط تقدم وظيفي جذاب في جهازك. لتثبيت الوحدة النمطية tqdm ، افتح Terminal وقم بتشغيل:



pip install tqdm

ما هي وحدة الوقت؟

تتضمن وحدة الأدوات القياسية في Python ملفات وحدة الوقت افتراضيًا ، حتى لا تضطر إلى تثبيته. يمكنك استخدام وظيفة السكون المتوفرة في وحدة الوقت لإضافة تأخير إلى تطبيقاتك مما سيساعد في تصور تقدم الشريط.

يمكنك استخدام وحدة الوقت للحصول على التاريخ والوقت وجدولة المهام وإنشاء تطبيقات مفيدة مثل ملف منبه بسيط ، أو ساعة توقيت.





كيفية إضافة شريط التقدم وتخصيصه

شريط التقدم الافتراضي سهل الاستخدام ويمكنك تخصيصه بعدة خيارات.

1. شريط التقدم البسيط

يمكنك إنشاء شريط تقدم بسيط عن طريق استيراد فئة tqdm من الوحدة النمطية tqdm ووظيفة السكون من وحدة الوقت. استخدم حلقة for وكرر tqdm على النطاق الذي تريده.





يمكن أن يصل النطاق إلى 9e9 (تسعة مليارات). مرر عدد الثواني لوظيفة السكون لإضافة تأخير بحيث يمكنك تصور ورؤية شريط التقدم أثناء العمل.

يمكنك تنفيذ شريط تقدم بسيط مثل هذا:

كيفية الحصول على رمز البطارية على شريط المهام windows 10
from tqdm import tqdm 
from time import sleep

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

بدلاً من استيراد tqdm ، يمكنك استيراد trange من الوحدة النمطية tqdm لدمج tqdm والنطاق وتمرير المعلمة مباشرةً.

from tqdm import trange 
from time import sleep

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

يبدو الإخراج الذي تحصل عليه عند إنشاء شريط تقدم بسيط كما يلي:

  شريط التقدم البسيط

يتضمن هذا الإخراج نسخًا رسومية ونصية للتقدم ، جنبًا إلى جنب مع إحصائيات التوقيت.

2. شريط التقدم مع نص الوصف

يمكنك إضافة تسمية وصفية إلى شريط التقدم لشرح الغرض منه. مرر النص الذي تريد عرضه ملفوفًا بين علامتي اقتباس مثل تنازلي معامل:

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

يبدو الإخراج الذي تحصل عليه عند إضافة نص وصفي مع شريط التقدم كما يلي:

  شريط التقدم مع النص

3. شريط التقدم مع العرض المخصص

بشكل افتراضي ، يتم تعيين عرض شريط التقدم ديناميكيًا لحجم نافذة الإخراج. يمكنك تخصيصه حسب رغبتك بمساعدة ncols معامل.

يمكنك تنفيذ شريط تقدم بعرض مخصص على النحو التالي:

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

يبدو الإخراج الذي تحصل عليه عند إطالة عرض شريط التقدم كما يلي:

  شريط التقدم مع الوصف و ncols

4. شريط التقدم باستخدام اللون

يمكنك تخصيص لون شريط التقدم باستخدام معلمة اللون. يمكنك القيام بذلك بطريقتين:

  1. اسم اللون: يمكنك استخدام اسم اللون مثل الأخضر والأسود والسماوي وغير ذلك.
  2. كود سداسي عشري: الكود السداسي هو تنسيق حيث يقوم الكمبيوتر بتخزين اللون. يمكنك الإشارة إلى لون Hex بعلامة التجزئة (#) متبوعة بـ 6 أحرف بالنظام الست عشري (0-9 ، a-f). يمثل الرمز الست عشري # 000000 الأسود بينما يمثل #ffffff الأبيض. من خلال تغيير شدة هذه الأرقام ، تحصل على درجات ألوان مختلفة. يمكنك استخدام ال أداة Color Picker من Google لتحديد لون رمز Hex ولصقه.

يمكنك تنفيذ شريط تقدم بألوان مخصصة على النحو التالي:

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

الإخراج الذي تحصل عليه عند تغيير لون شريط التقدم:

  شريط التقدم مع اللون

5. شريط التقدم مع الحد الأدنى من الفاصل الزمني

يمكنك إنشاء شريط تقدم يقوم بالتحديث مع حد أدنى من الفاصل الزمني بدلاً من الإعداد الافتراضي. يمكنك تمرير رقم مثل 1.5 أو 2 والذي سيكون بمثابة الفاصل الزمني بين تحديثين. القيمة الافتراضية للحد الأدنى للفترة الزمنية هي 0.1.

يمكنك تنفيذ شريط تقدم بحد أدنى من الفاصل الزمني على النحو التالي:

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

المخرجات التي تحصل عليها من خلال تحديد حد أدنى للفاصل الزمني لشريط التقدم:

كيفية الحصول على خلفيات حية على Windows 10
  شريط التقدم مع فاصل زمني دقيق

6. شريط التقدم باستخدام أحرف ASCII

يمكنك إنشاء شريط تقدم باستخدام أحرف ASCII بدلاً من الأشرطة المعتادة التي تراها على الشاشة. لاستخدام أحرف ASCII ، قم بتعيين ملف أسكي المعلمة إلى التنسيق المطلوب.

إذا كنت تستخدم شيئًا مثل 12345 * ، يتكرر كل عمود من أعمدة النطاق من واحد إلى علامة النجمة بالتتابع. في حين أنه رائع وقابل للتخصيص ، تأكد من استخدامه سهل الاستخدام عند استخدامه في تطبيقات حقيقية.

يمكنك تنفيذ شريط التقدم باستخدام أحرف ASCII على النحو التالي:

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

يبدو الإخراج الذي تحصل عليه باستخدام أحرف ASCII في شريط التقدم كما يلي:

  شريط التقدم مع أحرف ASCII

7. شريط التقدم باستخدام نقطة البداية المحددة

بدلاً من بدء شريط التقدم من الصفر ، يمكنك تعيين نقطة بداية محددة لشريط التقدم. مرر قيمة بداية مثل 50 إلى مبدئي معامل.

يمكنك تنفيذ شريط التقدم باستخدام نقطة بداية محددة على النحو التالي:

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

الإخراج الذي تحصل عليه عند بدء شريط التقدم عند نقطة محددة:

  شريط التقدم مع المعلمة الأولية

8. شريط التقدم مع عدد محدد من التكرارات

يمكنك إنشاء شريط تقدم يقوم بتشغيل عدد معين من التكرارات. إذا كنت تريد تشغيل 500 تكرار من 50000 ، فمرر 500 كنطاق و 50000 كإجمالي عدد التكرارات إلى المجموع معامل.

يمكنك تنفيذ شريط التقدم باستخدام عدد محدد من التكرارات على النحو التالي:

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

المخرجات التي تحصل عليها باستخدام شريط تقدم مع عدد محدد من التكرارات:

  شريط تقدم مع عدد محدد من التكرارات

تطبيقات شريط التقدم

سترى أشرطة تقدم في مواقف مختلفة ، مثل تشغيل مشغل الوسائط أو إظهار الخطوات من خلال نموذج عبر الإنترنت.

على الرغم من أن شريط التقدم يبدو جماليًا ، إلا أنه يقوم بعمل مهم يتمثل في تقديم ملاحظات للمستخدم في حالة عدم تركه لموقع الويب.