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

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

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

ما هي وحدة tqdm؟

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

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

نقطة ثَبَّتَ تقدم

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

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

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

instagram viewer
منبه بسيط، أو ساعة توقيت.

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

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

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

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

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

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

من تقدم يستورد تقدم
من وقت يستورد ينام

بالنسبة لـ i in tqdm (النطاق (100)):
ينام(.1)

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

من تقدم يستورد غريب
من وقت يستورد ينام

لـ i in trange (100):
ينام(.1)

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

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

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

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

بالنسبة إلى i في tqdm (النطاق (0 ، 10) ، تنازلي ="تقدم: "):
ينام(.4)

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

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

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

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

بالنسبة لـ i في tqdm (النطاق (0 ، 10) ، ncols = 100 ، desc ="تقدم: "):
ينام(.1)

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

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

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

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

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

بالنسبة لـ i في tqdm (النطاق (0 ، 100) ، اللون ="# 00ffff"، وصف ="تقدم: "):
ينام(.1)

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

5. شريط التقدم بأدنى فترة زمنية

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

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

بالنسبة إلى i في tqdm (النطاق (0 ، 100) ، الحد الأدنى للفاصل الزمني = 2 ، تنازلي ="تقدم: "):
ينام(.1)

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

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

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

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

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

بالنسبة لـ i في tqdm (النطاق (0 ، 100) ، ascii ="12345*"):
ينام(.1)

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

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

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

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

بالنسبة إلى i في tqdm (النطاق (0 ، 100) ، الأولي = 50 ، الوصف ="تقدم: "):
ينام(.1)

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

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

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

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

بالنسبة لـ i في tqdm (النطاق (0 ، 500) ، الإجمالي = 50000 ، الوصف ="تقدم: "):
ينام(.1)

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

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

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

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