क्या add_argument
रिटर्न, अगर आप ipython
की तरह एक इंटरैक्टिव सत्र में किसी भी परीक्षण करना, बदले आप चेहरे में घूर रहा है के सवाल पर:
In [73]: import argparse
In [74]: parser=argparse.ArgumentParser()
In [75]: parser.add_argument('foo',choices=['one','two','three'])
Out[75]: _StoreAction(option_strings=[], dest='foo', nargs=None, const=None, default=None, type=None, choices=['one', 'two', 'three'], help=None, metavar=None)
In [76]: _.choices
Out[76]: ['one', 'two', 'three']
ध्यान दें कि जैसे अन्य तरीकों add_argument_group
, add_subparsers
, add_parser
, add_mutually_exclusive_group
सभी लौटने वाली वस्तुओं का उपयोग किया जा सकता है। तथ्य यह है कि add_argument
दस्तावेज को वापस करने के रूप में दस्तावेज नहीं किया गया है, मुझे लगता है, एक दस्तावेज़ीकरण निरीक्षण। आम तौर पर उपयोगकर्ताओं को इसका उपयोग करने की आवश्यकता नहीं होती है, लेकिन अर्ध-डेवलपर के रूप में मैं इसे हर समय उपयोग करता हूं। argparse
के लिए प्रलेखन औपचारिक विनिर्देश नहीं है कि मॉड्यूल क्या कर सकता है या नहीं कर सकता है; यह एक निर्देश पुस्तिका से अधिक है, एक ट्यूटोरियल से एक कदम है, लेकिन स्पष्ट रूप से एक संदर्भ नहीं है।
parser._actions
का उपयोग आसान है, लेकिन एक कदम गहराई में गहरा है। मैंने लगभग सभी बग/मुद्दों का पालन किया है और इस बारे में कोई भी विचार नहीं कर सकता है जो इसमें बदलाव लाएगा। संभावित परिवर्तनों का एक बड़ा बैकलॉग है, लेकिन पिछड़े संगतता मुद्दों को बनाने के डर पर डेवलपर्स को कम-अखंडता में कम कर दिया गया है। argparse
की कार्यक्षमता को बदलने के लिए दस्तावेज़ को बदलना आसान है।
पीएफटी चीनी मिट्टी के बरतन के आदेशों के साथ चिपकने वाला मजा क्या है? लेम्मे में कुछ नलसाजी है!;) –
@ एडमस्मिथ - मैंने जो देखा है, उससे 'Argparse' internals बहुत स्थिर हैं (लेकिन मुझे उस पर उद्धरण न दें ;-) – mgilson
दाएं। जब तक वे नहीं होते हैं तब तक वे स्थिर होते हैं और आपका एप्लिकेशन (और बाद में दुनिया) अप्रत्याशित रूप से दुर्घटनाग्रस्त हो जाता है जब उपयोगकर्ता तर्क के रूप में प्रवेश करता है '--ritual Iä! _Iä! _Cthulhu_fhtagn! ' –