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