الافتراضي لا يعفي من تقديم الخيار المطلوب هنا. [1] [2]
الخلاصة السريعة
لا؛ الخيار المطلوب يجب تقديمه في مثالنا. [1] [2]
- الافتراضي لا يعفي من تقديم الخيار المطلوب هنا. [1] [2]
- على CPython 3.12.14، --tag بتخزين عادي مع required=True وdefault="leaf"، دون تخصيص الخروج. [1] [2]
- تحليل [] يثير SystemExit بالرمز 2؛ تحليل ["--tag","bud"] يعطي {"tag":"bud"}. نلتقط الخروج لمتابعة المثال. [1] [2]
- فحص المطلوب يتتبع حضور الفعل؛ الافتراضي لا يعوض الغياب، ومعالجة الخطأ المعتادة تنهي التحليل. [1] [2]
- تحكم مستقل بالخيار والافتراضي نفسيهما دون required: تحليل [] يعطي {"tag":"leaf"}. [1] [2]
مطلوب رغم الافتراضي
الضبط
على CPython 3.12.14، --tag بتخزين عادي مع required=True وdefault="leaf"، دون تخصيص الخروج. [1] [2]
غياب وحضور
تحليل [] يثير SystemExit بالرمز 2؛ تحليل ["--tag","bud"] يعطي {"tag":"bud"}. نلتقط الخروج لمتابعة المثال. [1] [2]
import argparse,contextlib,io own=argparse.ArgumentParser() own.add_argument("--tag",required=True,default="leaf") try: with contextlib.redirect_stderr(io.StringIO()): own.parse_args([]) except SystemExit as ex: print(type(ex).__name__,ex.code) print(vars(own.parse_args(["--tag","bud"]))) [1] [2]
![تحكم مستقل؛ argparse; --tag; required:False; default:"leaf"; input:[]; tag:"leaf"](https://images.bahralolom.com/assets/local-2000-20261012/BA-1809/python-argparse-required-values.png)
دون اشتراط
فحص المطلوب يتتبع حضور الفعل؛ الافتراضي لا يعوض الغياب، ومعالجة الخطأ المعتادة تنهي التحليل. [1] [2]
control=argparse.ArgumentParser() control.add_argument("--tag",default="leaf") print(vars(control.parse_args([]))) [1] [2]
تحكم مستقل بالخيار والافتراضي نفسيهما دون required: تحليل [] يعطي {"tag":"leaf"}. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![افتراضي وخيار مطلوب؛ argparse; --tag; required:True; default:"leaf"; input:[]; SystemExit:2; input:["--tag","bud"]; tag:"bud"](https://images.bahralolom.com/assets/local-2000-20261012/BA-1809/python-argparse-required-main.png)