python - Is there an other way to parse args with groups? -
मैंने उनसे कोशिश की:
arg = argparse.ArgumentParser (description = 'मुर्दा v0.1a स्थिर अल्फा प्रयोग') arg.add_argument ( '- के बारे में', मदद =, कार्रवाई = 'store_true' '। लेखक और लाइसेंस जानकारी के बारे में') gr_root = arg.add_mutually_exclusive_group ( ) gr_render = gr_root.add_mutually_exclusive_group () gr_render.add_argument ( '- आर', '--render', मदद = 'यह कोष डेटाबेस में प्रस्तुत करने के लिए एक कच्चे पाठ।') gr_render.add_argument ( '- संलग्न', मदद = 'यदि पहले से ही एक डेटाबेस है, इस विकल्प को उपयोगी होगा।', कार्रवाई = 'store_true') gr_load = gr_root.add_mutually_exclusive_group () gr_load.add_argument ( '- एल', '--load', मदद = 'एक डेटाबेस सामग्री की रिपोर्ट करने के नाम ') gr_load.add_argument (' - पी। ',' --pattern ', मदद =' टोकन पैटर्न है कि सूचित किया जाना करने की जरूरत है ') gr_load.add_argument (' -। कम ', मदद = 'गिनती की तुलना में "कम और समान" पैटर्न की सूची बनाएं।, एक्शन =' स्टोर ') gr_load.add_argum एंट ('अधिक', मदद = 'गिनती की तुलना में "अधिक और समान" पैटर्न की सूची बनाएं।, एक्शन =' स्टोर ') आरजीएस = वार्स (arg.parse_args ()) मैंने इस मंच में एक सवाल का इस्तेमाल किया, लेकिन मुझे याद नहीं है कि यह कौन सा है। जब मैं add_mutually_exclusive_group () का उपयोग करता हूं, ऐसा लगता है कि "OR" ऑपरेटर के साथ समूह तर्क अलग करता है मैं इसे इस आउटपुट के साथ समझता हूं:
उपयोग: corpse.py [-h] [--about] [[-आर रेंडर | --append] [-एल लोड | -पी PATTERN | कम से कम | - और अधिक] corpse.py: त्रुटि: तर्क --append: तर्क-आर / - रेंडर के साथ अनुमति नहीं है हालांकि, मैं उन समूहों का उपयोग करने के लिए समूहों को अलग तर्क करना चाहता हूं एक साथ जिसका मतलब है कि मैं यह चाहता हूँ:
[- आर आर एंड एंड --append] यह नहीं:
[- आर आरडर | --append] मेरा मतलब है कि मैं रेंडर और अनुलग्नक तर्क एक साथ और नहीं load , पैटर्न , कम और अधिक ।
नेस्टेड समूहों के साथ आपकी समस्या बताती है। ध्यान दें कि [[ उपयोग में है। आपका सबसे अच्छा शर्त अब पार्सिंग के बाद जांचना है। देखें
क्या आदर्श उपयोग लाइन कैसा लगेगा
यहां एक subparser आधारित solultion का एक स्केच है:।?
पार्सर = ArguementParser () एसपी = parser.add_subparsers (गंतव्य = 'cmd') sp.add_parser ( 'लोड', = 'एक डेटाबेस की रिपोर्ट सामग्री' मदद) ( 'के बारे में') एसपीपी = sp.add_parser spp.add_argument ( 'डेटाबेस' ) Spp.add_argument ('- pattern', ...) spp.add_argument ('- कम', ...) spp.add_argument ('- more', ...) spp = sp.add_parser (' ('- एपेंड', ...)
Comments
Post a Comment