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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a