اسم الأمر لا يُحفظ تلقائيًا في مثالنا. [1] [2]
الخلاصة السريعة
حفظ الاسم يحتاج وجهة صريحة هنا. [1] [2]
- اسم الأمر لا يُحفظ تلقائيًا في مثالنا. [1] [2]
- على CPython 3.12.14، ننشئ مجموعة بـadd_subparsers دون dest، ونضيف bud بـadd_parser؛ بلا خيارات رئيسية أو وسيطات للأمر، وبمساحة أسماء جديدة. [1] [2]
- تحليل ["bud"] ينجح ويعطي {}؛ hasattr(ns,"command") يساوي False؛ غياب الخاصية ليس قيمة None. [1] [2]
- اختيار المحلل الفرعي مستقل عن حفظ اسمه؛ تنفيذ الفعل يسند الاسم عندما تكون وجهة حفظه مطلوبة. [1] [2]
- تحكم بمحلل مستقل وبالأمر والمدخل نفسيهما، مع dest="command": القاموس {"command":"bud"} ووجود الخاصية True. [1] [2]
حفظ الاسم
أمر دون خيارات
على CPython 3.12.14، ننشئ مجموعة بـadd_subparsers دون dest، ونضيف bud بـadd_parser؛ بلا خيارات رئيسية أو وسيطات للأمر، وبمساحة أسماء جديدة. [1] [2]
نتيجة بلا اسم
تحليل ["bud"] ينجح ويعطي {}؛ hasattr(ns,"command") يساوي False؛ غياب الخاصية ليس قيمة None. [1] [2]
import argparse own=argparse.ArgumentParser() subs=own.add_subparsers() subs.add_parser("bud") ns=own.parse_args(["bud"]) print(vars(ns),hasattr(ns,"command")) [1] [2]
![تحكم مستقل؛ argparse; add_subparsers(dest="command"); add_parser("bud"); input:["bud"]; vars:{"command":"bud"}; hasattr(cns,"command"):True](https://images.bahralolom.com/assets/local-2000-20261012/BA-1825/python-argparse-commandname-values.png)
وجهة صريحة
اختيار المحلل الفرعي مستقل عن حفظ اسمه؛ تنفيذ الفعل يسند الاسم عندما تكون وجهة حفظه مطلوبة. [1] [2]
control=argparse.ArgumentParser() cs=control.add_subparsers(dest="command") cs.add_parser("bud") cns=control.parse_args(["bud"]) print(vars(cns),hasattr(cns,"command")) [1] [2]
تحكم بمحلل مستقل وبالأمر والمدخل نفسيهما، مع dest="command": القاموس {"command":"bud"} ووجود الخاصية True. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![اسم غير محفوظ؛ argparse; add_subparsers(); add_parser("bud"); input:["bud"]; vars:{}; hasattr(ns,"command"):False](https://images.bahralolom.com/assets/local-2000-20261012/BA-1825/python-argparse-commandname-main.png)