问题
How do I check for a particular subparser?
import argparse
if __name__ == "__main__":
mainparser = argparse.ArgumentParser()
submainadder = mainparser.add_subparsers(title='subcommands')
parser_ut = submainadder.add_parser('unittest')
stuff = mainparser.parse_args()
# if 'unittest' was selected:
# do_things()
回答1:
Maybe something like this ?
import argparse
def do_things(args):
print args
# Do your stuff
mainparser = argparse.ArgumentParser()
submainadder = mainparser.add_subparsers(title='subcommands')
parser_ut = submainadder.add_parser('unittest')
parser_ut.set_defaults(func=do_things)
if __name__ == "__main__":
stuff = mainparser.parse_args()
stuff.func(stuff)
More explanations can be found here:
python argparse - add action to subparser with no arguments?
来源:https://stackoverflow.com/questions/29938335/how-do-i-check-for-a-particular-subparser