أساسيات argparse
حلّل معاملات سطر الأوامر
أساسيات argparse درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.
لماذا argparse؟
تنشئ وحدة argparse (من المكتبة القياسية) واجهات سطر أوامر سهلة الاستخدام. فهي تحلل الوسائط، وتتحقق من أنواعها، وتنشئ نص المساعدة تلقائيًا.
import argparse
parser = argparse.ArgumentParser(description='A demo tool')
print(type(parser).__name__)إنشاء محلل
ابدأ بإنشاء ArgumentParser. يظهر description في نص المساعدة المُنشأ تلقائيًا.
import argparse
parser = argparse.ArgumentParser(description='Greet a user')
print('parser ready')الوسائط الموضعية
يعرّف add_argument('name') وسيطًا موضعيًا مطلوبًا. نمرر قائمة إلى parse_args هنا كي يعمل دون سطر أوامر حقيقي.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args(['Alice'])
print('Hello,', args.name)الوسائط الاختيارية
تكون الأسماء التي تبدأ بـ -- أعلامًا اختيارية. حدّد قيمة default عند عدم تمريرها من المستخدم.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--greeting', default='Hi')
args = parser.parse_args(['--greeting', 'Hey'])
print(args.greeting)
print(parser.parse_args([]).greeting)الوسائط ذات الأنواع
استخدم type=int (أو float، وغيرهما) لكي تحوّل argparse القيمة وتتحقق منها. ينتج عن الإدخال غير الصحيح خطأ واضح.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--count', type=int, default=1)
args = parser.parse_args(['--count', '5'])
print(args.count * 2)الأعلام المنطقية
ينشئ action='store_true' علمًا تكون قيمته False افتراضيًا وTrue عند وجوده، وهو مناسب لمفاتيح مثل --verbose.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
print(parser.parse_args(['--verbose']).verbose)
print(parser.parse_args([]).verbose)الأسماء القصيرة والطويلة
امنح الوسيط صيغة قصيرة وأخرى طويلة، مثل -n و--name. وتضبط كلتاهما السمة نفسها.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='world')
print(parser.parse_args(['-n', 'Sam']).name)الخيارات
قيّد القيم المسموح بها باستخدام choices. يرفض argparse أي قيمة خارج القائمة.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--mode', choices=['fast', 'slow'], default='fast')
print(parser.parse_args(['--mode', 'slow']).mode)قيم متعددة باستخدام nargs
يجمع nargs='+' قيمة واحدة أو أكثر في قائمة، وهو مناسب لقبول عدة مدخلات دفعة واحدة.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('files', nargs='+')
args = parser.parse_args(['a.txt', 'b.txt', 'c.txt'])
print(args.files)الخيارات المطلوبة والمساعدة
أضف required=True لإجبار المستخدم على تمرير علم اختياري، واستخدم help= لتوثيقه في شاشة الاستخدام المُنشأة.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--id', required=True, type=int, help='record id')
args = parser.parse_args(['--id', '7'])
print('id is', args.id)أداة صغيرة متكاملة
عند جمع العناصر معًا، يشكّل الإدخال الموضعي والخيار ذو النوع المحدد والعلم واجهة CLI صغيرة لكنها حقيقية.
import argparse
parser = argparse.ArgumentParser(description='Repeat a message')
parser.add_argument('message')
parser.add_argument('--times', type=int, default=1)
parser.add_argument('--shout', action='store_true')
args = parser.parse_args(['hello', '--times', '2', '--shout'])
text = args.message.upper() if args.shout else args.message
for _ in range(args.times):
print(text)اختبار سريع
اختبر مدى فهمك لـ argparse.
مراجعة
لقد تعلمت أساسيات argparse:
- استخدام
ArgumentParserمع الوسائط الموضعية والوسائط--optional. - تتحقق
typeوdefaultوchoicesوrequiredمن صحة الإدخال. - استخدام
action='store_true'للأعلام، وnargsللقوائم. - يُنشأ نص المساعدة تلقائيًا.
التالي: الأوامر الفرعية والتعامل المتقدم مع الخيارات.
الأسئلة الشائعة
هل درس «أساسيات argparse» مجاني؟
نعم — نص درس «أساسيات argparse» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.
ماذا ستتعلم في «أساسيات argparse»؟
حلّل معاملات سطر الأوامر تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «أساسيات argparse»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات argparse
- الأوامر الفرعية والخيارات
- مكتبة Click
- مخرجات الطرفية المنسّقة