تقنية

-- في argparse: متى يصبح اسم الخيار قيمة موضعية؟

argparse; item; --feature; store_true; input:["--","--feature"]; item:"--feature"; feature:False
قيمة.

بعد --، يُقرأ اسم الخيار قيمةً موضعية في مثالنا. [1] [2]

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

عندما يسبقه الفاصل -- هنا. [1] [2]

  • بعد --، يُقرأ اسم الخيار قيمةً موضعية في مثالنا. [1] [2]
  • على CPython 3.12.14، نعرّف item موضعيًا ونضيف --feature بفعل store_true، بمحلل عادي. [1] [2]
  • تحليل ["--","--feature"] يعطي item="--feature" وfeature=False؛ الفاصل نفسه لا يصبح قيمة item. [1] [2]
  • الفاصل يجعل ما يليه غير خيارات؛ في هذا المثال يُزال قبل إسناد القيمة الموضعية. [1] [2]
  • تحكم بمحلل مستقل بالتعريفين نفسيهما: تحليل ["--feature","bud"] يعطي item="bud" وfeature=True؛ هنا استُعمل الخيار. [1] [2]

بعد الفاصل

بعد --، يُقرأ اسم الخيار قيمةً موضعية في مثالنا. [1] [2]

التعريف

على CPython 3.12.14، نعرّف item موضعيًا ونضيف --feature بفعل store_true، بمحلل عادي. [1] [2]

اسم يصبح قيمة

تحليل ["--","--feature"] يعطي item="--feature" وfeature=False؛ الفاصل نفسه لا يصبح قيمة item. [1] [2]

import argparse own=argparse.ArgumentParser() own.add_argument("item") own.add_argument("--feature",action="store_true") ns=own.parse_args(["--","--feature"]) print(ns.item,ns.feature) [1] [2]

argparse; item; --feature; store_true; input:["--feature","bud"]; item:"bud"; feature:True
خيار.

خيار مستعمل

الفاصل يجعل ما يليه غير خيارات؛ في هذا المثال يُزال قبل إسناد القيمة الموضعية. [1] [2]

control=argparse.ArgumentParser() control.add_argument("item") control.add_argument("--feature",action="store_true") cns=control.parse_args(["--feature","bud"]) print(cns.item,cns.feature) [1] [2]

تحكم بمحلل مستقل بالتعريفين نفسيهما: تحليل ["--feature","bud"] يعطي item="bud" وfeature=True؛ هنا استُعمل الخيار. [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

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

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