मैं अपने प्रोग्राम में कमांड लाइन सबकॉमैंड्स के लिए पाइथन Argparse मॉड्यूल का उपयोग कर रहा हूं। मेरे कोड मूल रूप से इस तरह दिखता है:Argparse subparser: कमांड सूची में मेटावर छुपाएं
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(title="subcommands", metavar="<command>")
subparser = subparsers.add_parser("this", help="do this")
subparser = subparsers.add_parser("that", help="do that")
parser.parse_args()
जब चल रहा है "अजगर test.py --help" मैं उपलब्ध subcommands सूची करना चाहते हैं।
usage: test.py [-h] <command> ...
optional arguments:
-h, --help show this help message and exit
subcommands:
<command>
this do this
that do that
मैं किसी भी तरह लिस्टिंग subcommands में <command>
लाइन को हटाने और अभी भी उपयोग लाइन में रखने के सकता है: वर्तमान में मैं इस आउटपुट प्राप्त? मैंने help_ argparse.SUPPRESS को add_subparsers के तर्क के रूप में देने का प्रयास किया है, लेकिन यह केवल सहायता आउटपुट में सभी उप-सामग्रियों को छुपाता है।
'None' को' metavar' (या इसे बंद कर छोड़कर) के बारे में क्या? - या 'मेटावर =' '' सेट करें ... – mgilson
उत्तर देने के लिए धन्यवाद! यदि मैं इसे किसी भी पर सेट करता हूं तो मुझे इसके बजाय सभी आदेशों की एक सूची मिलती है और यदि मैं 'मेटावर =' 'का उपयोग करता हूं, तो मुझे खाली रेखा मिलती है। दोनों मामलों में मैं उपयोग लाइन में मेटावर खो देता हूं। –
ओह, मुझे वह मिल गया जो आप अभी खोज रहे हैं। दुर्भाग्य से मुझे नहीं पता कि इसे कैसे किया जाए। – mgilson