[Python] Modulo argparse
Daniele Varrazzo
piro a develer.com
Gio 26 Apr 2012 17:44:28 CEST
On Thu, 26 Apr 2012 15:41:25 +0100 (BST), Walter Valenti wrote:
> Ho un problema banale con il modulo "argparse".
> Mi serve implementare semplicemente.
>
> comando valore
> comando -v(flag opzionale. Mi stampa la versione ed esce)
>
>
> Ho provato cosė:
>
> parser = argparse.ArgumentParser()
> parser.add_argument("strings",metavar="PATH",
> type=unicode,default="")
> parser.add_argument("-v", dest='vers',action="store_true",
> help="versione",required=False)
> values=parser.parse_args()
>
> if values.vers == True:
> print "Versione"
> sys.exit(0)
>
> Senza il flag "-v" funziona.
> Con il "-v" mi risponde:
> error: too few arguments
>
> vuole per forza l'altro parametro.
> Come faccio a saltarlo ?
Prova ad usare action='version' invece di store_true: probabilmente č
fatto apposta per dire "anche se ci sono parametri non facoltativi,
sbattitene, stampa la versione ed esci". Con store_true, tutta la riga
di comando deve essere validata.
http://docs.python.org/dev/library/argparse.html#action
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python