मैं cmd args को संभालने के लिए argparse का उपयोग कर रहा हूं, मैं चाहता हूं कि कोई तर्क निर्दिष्ट नहीं है, तो सहायता संदेश मुद्रित करें, लेकिन अब पार्स एक त्रुटि आउटपुट करेगा, और फिर बाहर निकलें। मेरी कोड है:त्रुटि के बजाय पार्सर प्रिंट सहायता संदेश को कैसे छोड़ें और
def main():
print "in abing/start/main"
parser = argparse.ArgumentParser(prog="abing")#, usage="%(prog)s <command> [args] [--help]")
parser.add_argument("-v", "--verbose", action="store_true", default=False, help="show verbose output")
subparsers = parser.add_subparsers(title="commands")
bkr_subparser = subparsers.add_parser("beaker", help="beaker inspection")
bkr_subparser.set_defaults(command=beaker_command)
bkr_subparser.add_argument("-m", "--max", action="store", default=3, type=int, help="max resubmit count")
bkr_subparser.add_argument("-g", "--grain", action="store", default="J", choices=["J", "RS", "R", "T", "job", "recipeset", "recipe", "task"], type=str, help="resubmit selection granularity")
bkr_subparser.add_argument("job_ids", nargs=1, action="store", help="list of job id to be monitored")
et_subparser = subparsers.add_parser("errata", help="errata inspection")
et_subparser.set_defaults(command=errata_command)
et_subparser.add_argument("-w", "--workflows", action="store_true", help="generate workflows for the erratum")
et_subparser.add_argument("-r", "--run", action="store_true", help="generate workflows, and run for the erratum")
et_subparser.add_argument("-s", "--start-monitor", action="store_true", help="start monitor the errata system")
et_subparser.add_argument("-d", "--daemon", action="store_true", help="run monitor into daemon mode")
et_subparser.add_argument("erratum", action="store", nargs=1, metavar="ERRATUM", help="erratum id")
if len(sys.argv) == 1:
parser.print_help()
return
args = parser.parse_args()
args.command(args)
return
मैं यह कैसे कर सकते हैं? धन्यवाद।
* अब पार्स एक त्रुटि आउटपुट करेगा, और फिर बाहर निकलें * - आपको क्या त्रुटि मिलती है? –
यह त्रुटि है: बहुत कम तर्क – fluter