BooleanOptionalAction تضيف خيار النفي مع الخيار الطويل في مثالنا. [1] [2]
الخلاصة السريعة
من --cache إلى --no-cache. [1] [2]
- BooleanOptionalAction تضيف خيار النفي مع الخيار الطويل في مثالنا. [1] [2]
- على CPython 3.12.14، نعرّف --cache بهذا الفعل، دون default صريح أو مساحة أسماء مجهزة. [1] [2]
- الغياب يعطي None؛ --cache تعطي True؛ --no-cache تعطي False. نحلل كل قائمة مستقلة. [1] [2]
- الفعل يضيف الاسم المسبوق بـ--no-؛ التنفيذ يحدد القيمة بحسب الاسم المستعمل. [1] [2]
- تحكم بمحلل مستقل وفعل store_true للخيار --cache فقط: parse_known_args(["--no-cache"]) تعطي cache=False وتبقي ["--no-cache"] ضمن الوسيطات المتبقية؛ لم يُضف خيار النفي هنا. [1] [2]
خيار النفي
BooleanOptionalAction تضيف خيار النفي مع الخيار الطويل في مثالنا. [1] [2]
التعريف
على CPython 3.12.14، نعرّف --cache بهذا الفعل، دون default صريح أو مساحة أسماء مجهزة. [1] [2]
ثلاث حالات
الغياب يعطي None؛ --cache تعطي True؛ --no-cache تعطي False. نحلل كل قائمة مستقلة. [1] [2]
import argparse own=argparse.ArgumentParser() own.add_argument("--cache",action=argparse.BooleanOptionalAction) print(own.parse_args([]).cache) print(own.parse_args(["--cache"]).cache) print(own.parse_args(["--no-cache"]).cache) [1] [2]
![argparse; store_true; parse_known_args(["--no-cache"]); cache:False; extra:["--no-cache"]](https://images.bahralolom.com/assets/local-2000-20261012/BA-1763/python-argparse-boolean-values.png)
فعل مختلف
الفعل يضيف الاسم المسبوق بـ--no-؛ التنفيذ يحدد القيمة بحسب الاسم المستعمل. [1] [2]
control=argparse.ArgumentParser() control.add_argument("--cache",action="store_true") ns,extra=control.parse_known_args(["--no-cache"]) print(ns.cache,extra) [1] [2]
تحكم بمحلل مستقل وفعل store_true للخيار --cache فقط: parse_known_args(["--no-cache"]) تعطي cache=False وتبقي ["--no-cache"] ضمن الوسيطات المتبقية؛ لم يُضف خيار النفي هنا. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![argparse; BooleanOptionalAction; []:None; ["--cache"]:True; ["--no-cache"]:False](https://images.bahralolom.com/assets/local-2000-20261012/BA-1763/python-argparse-boolean-main.png)