تقنية

parse_args([]) في argparse: هل يعود إلى sys.argv؟

مدخل فارغ؛ argparse; --tag,default:"leaf"; argv[1:]:["--tag","bud"]; args:[]; tag:"leaf"
فارغ.

القائمة الفارغة مدخل صريح، لا عودة إلى sys.argv هنا. [1] [2]

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

لا؛ parse_args([]) يحلل المدخل الفارغ هنا. [1] [2]

  • القائمة الفارغة مدخل صريح، لا عودة إلى sys.argv هنا. [1] [2]
  • على CPython 3.12.14، نحفظ الجزأين في example.py ونشغله بـpython example.py --tag bud؛ محلل عادي بخيار --tag وتخزينه المعتاد، وقيمته الافتراضية "leaf". [1] [2]
  • تمرير empty=[] إلى parse_args يعطي tag="leaf"؛ رغم وجود --tag bud في مدخلات التشغيل. [1] [2]
  • الرجوع إلى sys.argv[1:] يقع عندما يكون args هو None؛ القائمة الفارغة ليست None. [1] [2]
  • تحكم مستقل بالتعريف نفسه، دون تمرير args، يعطي tag="bud"؛ مساحات جديدة. محتوى sys.argv وهوية قائمتها، والقائمة الفارغة، لم تتغير هنا. [1] [2]

مدخل صريح

القائمة الفارغة مدخل صريح، لا عودة إلى sys.argv هنا. [1] [2]

الضبط

على CPython 3.12.14، نحفظ الجزأين في example.py ونشغله بـpython example.py --tag bud؛ محلل عادي بخيار --tag وتخزينه المعتاد، وقيمته الافتراضية "leaf". [1] [2]

قائمة فارغة

تمرير empty=[] إلى parse_args يعطي tag="leaf"؛ رغم وجود --tag bud في مدخلات التشغيل. [1] [2]

import argparse,sys before=list(sys.argv) argv_ref=sys.argv empty=[] own=argparse.ArgumentParser() own.add_argument("--tag",default="leaf") ns=own.parse_args(empty) print(ns.tag) [1] [2]

تحكم مستقل؛ argparse; --tag,default:"leaf"; argv[1:]:["--tag","bud"]; args:omitted; tag:"bud"; argv:unchanged
تشغيل.

مدخلات التشغيل

الرجوع إلى sys.argv[1:] يقع عندما يكون args هو None؛ القائمة الفارغة ليست None. [1] [2]

control=argparse.ArgumentParser() control.add_argument("--tag",default="leaf") cns=control.parse_args() print(cns.tag) print(sys.argv==before,sys.argv is argv_ref) [1] [2]

تحكم مستقل بالتعريف نفسه، دون تمرير args، يعطي tag="bud"؛ مساحات جديدة. محتوى sys.argv وهوية قائمتها، والقائمة الفارغة، لم تتغير هنا. [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

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

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