تقنية

intermixed في argparse: هل تُجمع القيم بعد الخيار؟

قراءة عادية؛ argparse; item,nargs:"*"; --flag:store_true; input:["bud","--flag","leaf"]; parse_known_args; item:["bud"]; flag:True; extra:["leaf"]
متبقٍ.

القراءة المختلطة تجمع القيم حول الخيار في مثالنا. [1] [2]

الخلاصة السريعة

نعم في النمط المختلط هنا؛ القراءة العادية تترك الأخيرة. [1] [2]

  • القراءة المختلطة تجمع القيم حول الخيار في مثالنا. [1] [2]
  • على CPython 3.12.14، نعرّف item موضعيًا مع nargs="*"، ونضيف --flag بفعل store_true؛ بمحللين عاديين. [1] [2]
  • parse_known_args(["bud","--flag","leaf"]) يعطي item=["bud"] وflag=True وextra=["leaf"]؛ لم تُجمع القيمة الأخيرة هنا. [1] [2]
  • النمط المختلط يجمع الموضعيات بعد التعامل مع الخيارات هنا؛ قائمة المتبقي لا تعني أن تعريف item مفقود. [1] [2]
  • تحكم مستقل بالتعريفات والمدخل نفسيهما: parse_known_intermixed_args يعطي item=["bud","leaf"] وflag=True وextra=[]؛ المثال موضعي واحد وخيار راية. [1] [2]

جمع مختلط

القراءة المختلطة تجمع القيم حول الخيار في مثالنا. [1] [2]

التعريف

على CPython 3.12.14، نعرّف item موضعيًا مع nargs="*"، ونضيف --flag بفعل store_true؛ بمحللين عاديين. [1] [2]

قيمة متبقية

parse_known_args(["bud","--flag","leaf"]) يعطي item=["bud"] وflag=True وextra=["leaf"]؛ لم تُجمع القيمة الأخيرة هنا. [1] [2]

import argparse own=argparse.ArgumentParser() own.add_argument("item",nargs="*") own.add_argument("--flag",action="store_true") ns,extra=own.parse_known_args(["bud","--flag","leaf"]) print(ns.item,ns.flag,extra) [1] [2]

تحكم مختلط؛ argparse; item,nargs:"*"; --flag:store_true; input:["bud","--flag","leaf"]; parse_known_intermixed_args; item:["bud","leaf"]; flag:True; extra:[]
مجموع.

قيمتان مجموعتان

النمط المختلط يجمع الموضعيات بعد التعامل مع الخيارات هنا؛ قائمة المتبقي لا تعني أن تعريف item مفقود. [1] [2]

control=argparse.ArgumentParser() control.add_argument("item",nargs="*") control.add_argument("--flag",action="store_true") cns,cextra=control.parse_known_intermixed_args(["bud","--flag","leaf"]) print(cns.item,cns.flag,cextra) [1] [2]

تحكم مستقل بالتعريفات والمدخل نفسيهما: parse_known_intermixed_args يعطي item=["bud","leaf"] وflag=True وextra=[]؛ المثال موضعي واحد وخيار راية. [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.