choices تفحص القيمة بعد تحويل type في مثالنا. [1] [2]
الخلاصة السريعة
القيمة المحولة؛ الاختيار هنا عدد صحيح. [1] [2]
- choices تفحص القيمة بعد تحويل type في مثالنا. [1] [2]
- على CPython 3.12.14، نعرّف الخيار --n مع type=int وchoices=[4]؛ نمرر ["--n","4"]، أي قيمة نصية مقدمة. [1] [2]
- التحويل يعطي العدد 4 من نوع int؛ يوجد في choices، فينجح التحليل. [1] [2]
- مسار القيمة الواحدة يستدعي _get_value ثم _check_value؛ الفحص يأتي بعد التحويل. [1] [2]
- تحكم بمحلل مستقل: الخيار نفسه وtype=int لكن choices=["4"]؛ المدخل نفسه يرفع ArgumentError لأن 4 لا يساوي "4". ضبطنا exit_on_error=False في المحللين؛ نفحص التخزين العادي مع الحضور فقط. [1] [2]
ترتيب الفحص
مدخل نصي
على CPython 3.12.14، نعرّف الخيار --n مع type=int وchoices=[4]؛ نمرر ["--n","4"]، أي قيمة نصية مقدمة. [1] [2]
اختيار عددي
التحويل يعطي العدد 4 من نوع int؛ يوجد في choices، فينجح التحليل. [1] [2]
import argparse own=argparse.ArgumentParser(exit_on_error=False) own.add_argument("--n",type=int,choices=[4]) value=own.parse_args(["--n","4"]).n print(value,type(value).__name__) [1] [2]
![argparse; type=int; choices:["4"]; input:["--n","4"]; exit_on_error:False; ArgumentError](https://images.bahralolom.com/assets/local-2000-20261012/BA-1760/python-argparse-choices-type-values.png)
اختيار نصي
مسار القيمة الواحدة يستدعي _get_value ثم _check_value؛ الفحص يأتي بعد التحويل. [1] [2]
control=argparse.ArgumentParser(exit_on_error=False) control.add_argument("--n",type=int,choices=["4"]) try:control.parse_args(["--n","4"]) except argparse.ArgumentError:print("ArgumentError") [1] [2]
تحكم بمحلل مستقل: الخيار نفسه وtype=int لكن choices=["4"]؛ المدخل نفسه يرفع ArgumentError لأن 4 لا يساوي "4". ضبطنا exit_on_error=False في المحللين؛ نفحص التخزين العادي مع الحضور فقط. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![argparse; type=int; choices:[4]; input:["--n","4"]; result:4 int](https://images.bahralolom.com/assets/local-2000-20261012/BA-1760/python-argparse-choices-type-main.png)