Monday, 15 September 2014

Python: how to have mutually exclusive groups in subparser using argparse? -


मैं एक प्रोग्राम लिख रहा हूँ जैसे:

  import argparse def task1 (args): प्रिंट "चल रहे कार्य 1" def task2 (args): प्रिंट "चालू कार्य 2" यदि __name___ == "__ मुख्य__": पार्सर = argparse.ArgumentParser (विवरण = "मैं कैसे subpararsers में अनूठे समूहों में हो सकता है?") Subparsers = parser। Add_subparsers () t1sub = subparsers.add_parser ("task1") # .... t1sub.set_defaults (func = task1) # यहाँ मैं एक पारस्परिक रूप से अनन्य समूह करना चाहता हूं # जब --in और के बीच एक विकल्प का कार्य 1 -आउट की आवश्यकता है, लेकिन एक अन्य को बाहर नहीं करता है # जाहिरा तौर पर एक सबपार्सर में कोई add_group नहीं है () add_mutually_exclusive_group () नहीं है, हालांकि t2sub = subparsers.add_parser ("task2") # .... t1sub.set_defaults (func = task2) args जैसा कि मैंने task1 को  - में  या  - बाहर   के बीच चलाया है, जैसा समझाया गया है = parser.parse_args () args.ferc (args)   

कोड> आवश्यक है, लेकिन दोनों नहीं। मैं अपने प्रोग्राम में यह कार्यक्षमता कैसे जोड़ सकता हूं ??

सबपर्सर्स एक सामान्य पार्सर का समर्थन करने वाले सभी तरीकों का समर्थन करते हैं, जिसमें add_mutually_exclusive_group () :

  & gt; & gt; & gt; Megroup = t1sub.add_mutually_exclusive_group () & gt; & gt; & gt; Megroup.add_argument ('-in', action = 'store_true') _StoreTrueAction (option_strings = ['-' '], dest =' in ', nargs = 0, const = true, default = गलत, प्रकार = कोई नहीं, विकल्प = कोई नहीं, मदद = कोई नहीं, मेटवावर = कोई नहीं) & gt; & gt; & gt; Megroup.add_argument ('- out', action = 'store_true') _StoreTrueAction (option_strings = ['- out'], dest = 'out', nargs = 0, const = True, default = False, प्रकार = कोई नहीं, विकल्प = कोई नहीं, मदद = कोई नहीं, मेटवावर = कोई नहीं) & gt; & gt; & gt; Parser.parse_args (['task1', '--in']) नेमस्पेस (फेंक = & lt; फ़ंक्शन कार्य 1 0x10a0d9050 पर gt ;, in = true, out = False)> gt; & gt; & gt; T1sub.print_help () उपयोग: कार्य 1 [-h] [--in | --आउट] वैकल्पिक तर्क: एक-एच, --help यह सहायता संदेश दिखाएं और बाहर निकलें - - एक ओर - gt; & gt; & gt; Parser.print_help () उपयोग: [-h] {task1, task2} ... मैं कैसे subpararsers में परस्पर अनन्य समूहों हो सकता है? स्थैतिक तर्क: एक {task1, task2} वैकल्पिक तर्क: एक -h, --help यह सहायता संदेश दिखाएं और बाहर निकलें    

No comments:

Post a Comment