Python Language
सटीक सहायता आउटपुट के साथ सीएलआई उप-क्षेत्र
खोज…
परिचय
सटीक कमांड लाइन इंटरफ़ेस के साथ hg
या svn
में उप-क्षेत्र बनाने के लिए अलग-अलग तरीके और आउटपुट जैसा कि रिमार्क्स अनुभाग में दिखाया गया है।
पार्सिंग कमांड लाइन तर्क तर्कों के व्यापक विषय को शामिल करता है।
टिप्पणियों
सहायता संदेश में दिखाए गए कमांड लाइन इंटरफ़ेस के साथ hg
या svn
में उप-क्षेत्र बनाने के विभिन्न तरीके:
usage: sub <command>
commands:
status - show status
list - print list
देशी तरीका (कोई पुस्तकालय नहीं)
"""
usage: sub <command>
commands:
status - show status
list - print list
"""
import sys
def check():
print("status")
return 0
if sys.argv[1:] == ['status']:
sys.exit(check())
elif sys.argv[1:] == ['list']:
print("list")
else:
print(__doc__.strip())
तर्कों के बिना आउटपुट:
usage: sub <command>
commands:
status - show status
list - print list
पेशेवरों:
- कोई डिप्स नहीं
- हर कोई इसे पढ़ने में सक्षम होना चाहिए
- मदद स्वरूपण पर पूर्ण नियंत्रण
अर्गपर्स (डिफ़ॉल्ट मदद सूत्रकार)
import argparse
import sys
def check():
print("status")
return 0
parser = argparse.ArgumentParser(prog="sub", add_help=False)
subparser = parser.add_subparsers(dest="cmd")
subparser.add_parser('status', help='show status')
subparser.add_parser('list', help='print list')
# hack to show help when no arguments supplied
if len(sys.argv) == 1:
parser.print_help()
sys.exit(0)
args = parser.parse_args()
if args.cmd == 'list':
print('list')
elif args.cmd == 'status':
sys.exit(check())
तर्कों के बिना आउटपुट:
usage: sub {status,list} ...
positional arguments:
{status,list}
status show status
list print list
पेशेवरों:
- अजगर के साथ आता है
- विकल्प पार्सिंग शामिल है
argparse (कस्टम सहायता फ़ॉर्मेटर)
विस्तारित संस्करण http://www.riptutorial.com/python/example/25282/argparse--default-help-formatter- जो निश्चित मदद आउटपुट है।
import argparse
import sys
class CustomHelpFormatter(argparse.HelpFormatter):
def _format_action(self, action):
if type(action) == argparse._SubParsersAction:
# inject new class variable for subcommand formatting
subactions = action._get_subactions()
invocations = [self._format_action_invocation(a) for a in subactions]
self._subcommand_max_length = max(len(i) for i in invocations)
if type(action) == argparse._SubParsersAction._ChoicesPseudoAction:
# format subcommand help line
subcommand = self._format_action_invocation(action) # type: str
width = self._subcommand_max_length
help_text = ""
if action.help:
help_text = self._expand_help(action)
return " {:{width}} - {}\n".format(subcommand, help_text, width=width)
elif type(action) == argparse._SubParsersAction:
# process subcommand help section
msg = '\n'
for subaction in action._get_subactions():
msg += self._format_action(subaction)
return msg
else:
return super(CustomHelpFormatter, self)._format_action(action)
def check():
print("status")
return 0
parser = argparse.ArgumentParser(usage="sub <command>", add_help=False,
formatter_class=CustomHelpFormatter)
subparser = parser.add_subparsers(dest="cmd")
subparser.add_parser('status', help='show status')
subparser.add_parser('list', help='print list')
# custom help messge
parser._positionals.title = "commands"
# hack to show help when no arguments supplied
if len(sys.argv) == 1:
parser.print_help()
sys.exit(0)
args = parser.parse_args()
if args.cmd == 'list':
print('list')
elif args.cmd == 'status':
sys.exit(check())
तर्कों के बिना आउटपुट:
usage: sub <command>
commands:
status - show status
list - print list
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow