[Python] Modulo argparse

Walter Valenti waltervalenti a yahoo.it
Gio 26 Apr 2012 17:31:35 CEST



----- Messaggio originale -----
> Da: Riccardo Lemmi <riccardo a reflab.com>
> A: python a lists.python.it
> Cc: 
> Inviato: Giovedì 26 Aprile 2012 17:18
> Oggetto: Re: [Python] Modulo argparse
> 
> Walter Valenti wrote:
> 
>>>> marcob a pc-beruntu:~/work/python$ python arg.py  -v
>> 
>>>> usage: arg.py [-h] [-v] PATH
>>>> arg.py: error: too few arguments
>>>> 
>>>> 
>>>> marcob a pc-beruntu:~/work/python$ python arg.py
>>>> usage: arg.py [-h] [-v] PATH
>>>> arg.py: error: too few arguments
>>> 
>>> 
>>> 
>>> 
>>> A me pare che non funzioni anche senza argomenti...
>>> Se stampi l'help vedi che l'argomento PATH, in quanto 
> posizionale, è
>>> obbligatorio:
>>> 
>>> 
>>> marcob a pc-beruntu:~/work/python$ python arg.py -h
>>>> usage: arg.py [-h] [-v] PATH
>>>> 
>>>> 
>>>> positional arguments:
>>>> PATH
>>>> 
>>>> 
>>>> optional arguments:
>>>> -h, --help  show this help message and exit
>>>> -v          versione
>>> 
>>> 
>>> Ciao.
>>> Marco.
>>> 
>> 
>> 
>>  Quello che vorrei fare è il seguente
>> 
>>  comando -v --> mi stampa la versione
>>  comando path  --> esegue
>> 
>>  In tutti gli altri casi visualizza l'help.
>> 
>> 
>>  E' poì che cerco nella documentazione ma non riesco a venirne a capo.
>> 
>>  Walter
> 
> Prova:
> 
> parser.add_argument("strings", 
>                     metavar="PATH", 
>                     type=unicode, 
>                     default="",
>                     nargs='*')
> 


Perfetto.
Il caso "-v path" lo gestisco con un semplice "if"

Grazie


Maggiori informazioni sulla lista Python