मैं कमांड लाइन इंटरफ़ेस में टाइप किए गए पैरामीटर पार्स करने के लिए पायथन में argparse मॉड्यूल का उपयोग कर रहा हूं।पायथन Argparse: मेटावर और एक्शन = store_true एक साथ
Traceback (most recent call last):
File "./scripts/tp4", line 94, in <module>
main()
File "./scripts/tp4", line 74, in main
modloader.loadModules(sub_parsers)
File "/usr/lib/python2.6/site-packages/tp4/cli/Moduleloader.py", line 66, in loadModules
registered_modules[module_name].setSubparserArgs(module_sub_parser)
File "/usr/lib/python2.6/site-packages/tp4/cli/modules/AutotestModule.py", line 135, in setSubparserArgs
action='store_true', default=False, required=False)
File "/usr/share/tp4/cli/zip/argparse.zip/argparse.py", line 1302, in add_argument
TypeError: __init__() got an unexpected keyword argument 'metavar'
अगर मैं कार्रवाई या metavar पैरामीटर निकाल, यह काम करता है: मैं इस त्रुटि मिलती है
submit_parser.add_argument('-pv','--provision',metavar='PROVISION', dest='PROVISION',
help='provision system',
action='store_true', default=False, required=False)
: मैं एक subparser वस्तु के लिए निम्न add_argument फोन है। दोनों एक साथ क्यों नहीं हो सकते हैं? http://docs.python.org/dev/library/argparse.html पर Argparse दस्तावेज़ में इस प्रतिबंध के बारे में कुछ भी नहीं है। किसी भी मदद
पायथन संस्करण .... जांचना एक महत्वपूर्ण बात है .... – avasal
आपने यह नहीं पूछा है, लेकिन यदि 'action'' store_true 'है, तो डिफ़ॉल्ट मान पहले से ही' गलत 'है (और यदि कार्रवाई 'store_false' 'डिफ़ॉल्ट मान 'True' है)। यह काफी सुविधाजनक है, हालांकि 'optparse' से अलग है (जहां दोनों मामलों में डिफ़ॉल्ट' कोई नहीं 'है)। – torek