تقنية

extend دون nargs في argparse: هل تبقى bud عنصرًا واحدًا؟

أحرف السلسلة؛ argparse; --tag,action:extend; nargs:None; input:[--tag,bud]; ns.tag:[b,u,d]
أحرف.

extend يضيف أحرف bud هنا. [1] [2]

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

لا؛ تصبح قائمة أحرف في المثال. [1] [2]

  • extend يضيف أحرف bud هنا. [1] [2]
  • على CPython 3.12.14، خيار --tag بفعل extend دون nargs صريح؛ المدخل ["--tag","bud"]. [1] [2]
  • النتيجة tag=["b","u","d"]؛ كلا التحليلين دون إخراج والمدخل لم يتغير. [1] [2]
  • مع nargs الافتراضي تُنتج سلسلة واحدة؛ extend يضيف عناصرها، فتكون أحرفها هنا. [1] [2]
  • تحكم مستقل بنفس الخيار والمدخل، لكن بفعل append: tag=["bud"]، عنصر واحد. لا افتراضي صريح أو تحويل نوع أو مساحة مجهزة هنا. [1] [2]

أحرف السلسلة

extend يضيف أحرف bud هنا. [1] [2]

الضبط

على CPython 3.12.14، خيار --tag بفعل extend دون nargs صريح؛ المدخل ["--tag","bud"]. [1] [2]

قائمة أحرف

النتيجة tag=["b","u","d"]؛ كلا التحليلين دون إخراج والمدخل لم يتغير. [1] [2]

import argparse args=["--tag","bud"] own=argparse.ArgumentParser() own.add_argument("--tag",action="extend") ns=own.parse_args(args) print(ns.tag) [1] [2]

تحكم مستقل؛ argparse; --tag,action:append; nargs:None; input:[--tag,bud]; cns.tag:[bud]
عنصر.

عنصر نصي كامل

مع nargs الافتراضي تُنتج سلسلة واحدة؛ extend يضيف عناصرها، فتكون أحرفها هنا. [1] [2]

control=argparse.ArgumentParser() control.add_argument("--tag",action="append") cns=control.parse_args(args) print(cns.tag) [1] [2]

تحكم مستقل بنفس الخيار والمدخل، لكن بفعل append: tag=["bud"]، عنصر واحد. لا افتراضي صريح أو تحويل نوع أو مساحة مجهزة هنا. [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

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

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