كيفية التعامل مع وسائط سطر الأوامر في Python؟

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

أساسيات التعامل مع وسائط سطر الأوامر في Python

يُعد التعامل مع وسائط سطر الأوامر مهارة أساسية لتطوير سكريبتات Python مرنة وسهلة الاستخدام. بدلاً من كتابة البيانات بشكل ثابت داخل الكود، يمكن للمطورين تمرير المعاملات مباشرة عند تشغيل البرنامج. في Python، يُستخدم مكتبة argparse بشكل شائع لهذا الغرض، وهي مضمنة في المكتبة القياسية للغة وتوفر وظائف قوية لمعالجة الوسائط.

مزايا استخدام وسائط سطر الأوامر

يمنحك استخدام وسائط سطر الأوامر في Python العديد من المزايا:

  • زيادة مرونة البرنامج من خلال تغيير سلوكه دون تعديل الكود المصدري
  • التحكم في سلوك البرنامج دون الحاجة لتغيير الكود
  • سهولة أتمتة المهام وإنشاء أدوات CLI احترافية
  • تكامل سلس للسكريبتات مع خطوط الأنابيب وعمليات CI/CD
  • تبسيط اختبار البرنامج باستخدام معاملات مختلفة

أمثلة على برامج تستخدم وسائط سطر الأوامر

العديد من الأدوات الشهيرة تعتمد بشكل كبير على وسائط سطر الأوامر:

  • مديري الحزم (pip, apt, yarn)
  • أدوات التعامل مع الملفات (tar, zip, rsync)
  • أنظمة البناء (make, cmake, gradle)
  • أدوات التطوير (git, docker, kubectl)
  • السكريبتات الخاصة لأتمتة سير العمل

استيراد وإعداد مكتبة argparse

مكتبة argparse مضمنة في المكتبة القياسية لـ Python بدءًا من الإصدار 2.7 و3.2. لا تحتاج إلى تثبيت أي حزم إضافية لاستخدامها.

import argparse

إنشاء محلل أساسي

للبدء في التعامل مع الوسائط، يجب إنشاء كائن من الفئة ArgumentParser:

parser = argparse.ArgumentParser(description="وصف البرنامج")

المثال الأول لاستخدام argparse

لنلقِ نظرة على سكريبت بسيط يستقبل اسم المستخدم ويعرض تحية مخصصة:

import argparse

parser = argparse.ArgumentParser(description="برنامج ترحيب بسيط")
parser.add_argument("name", help="اسم المستخدم")
args = parser.parse_args()

print(f"مرحبًا، {args.name}!")

يتم تشغيل السكريبت كالتالي:

python script.py أحمد

النتيجة:

مرحبًا، أحمد!

أنواع الوسائط في argparse

الوسائط الإجبارية (Positional Arguments)

الوسائط الإجبارية هي معاملات لا يمكن تشغيل البرنامج بدونها. تُعرّف بدون بادئات ويجب على المستخدم تمريرها إجباريًا.

parser.add_argument("filename", help="اسم الملف المراد معالجته")
parser.add_argument("output_dir", help="المجلد لحفظ النتائج")

الوسائط الاختيارية (Optional Arguments)

الوسائط الاختيارية تبدأ عادةً بشرطة واحدة (-) للصيغة القصيرة أو شرطتين (--) للصيغة الطويلة. توفر وظائف إضافية للبرنامج.

parser.add_argument("-v", "--verbose", help="عرض معلومات تفصيلية", action="store_true")
parser.add_argument("-o", "--output", help="ملف لحفظ النتائج")

التعامل مع أنواع بيانات الوسائط

افتراضيًا، تُعالج جميع الوسائط كنصوص. لتحديد نوع بيانات مختلف، استخدم المعامل type:

parser.add_argument("number", type=int, help="أدخل رقمًا صحيحًا")
parser.add_argument("price", type=float, help="سعر المنتج")
parser.add_argument("enabled", type=bool, help="تفعيل الوظيفة")

عند تمرير قيم غير متطابقة مع النوع المحدد، سيقوم argparse تلقائيًا بعرض رسالة خطأ واضحة.

المدونات

توصيات الكتب