2015-04-29 1 views
3

Comment vérifier un sous-programme particulier?Comment vérifier un sous-programme particulier?

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

Peut-être vous trouver ce lien utile http://stackoverflow.com/questions/17073688/how-to-use-argparse-subparsers- correctement – Llopis

+0

Avez-vous essayé d'attribuer à 'add_subparsers' un paramètre' dest = 'cmdname''? – hpaulj

Répondre

1

Peut-être que quelque chose comme ça?

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) 

Des explications plus se trouvent ici:

python argparse - add action to subparser with no arguments?

+0

'dest = 'subcommand'' vous pouvez aussi ajouter le mot-clé' dest' à 'add_subparser' et souligner son existence et son utilité particulière ici – n611x007