[Python] getopt
Alessandro Dentella
sandro a e-den.it
Gio 22 Maggio 2008 23:26:33 CEST
On Thu, May 22, 2008 at 09:48:39PM +0200, Paolo wrote:
> Ciao a tutti,
> ho qualche domanda da fare sulla funzione getopt:
>
> Da riga di comando l'utente può inserire comandi del tipo:
> prova -p arg1 arg2 arg3 arg4
> prova -c arg1 arg2
>
> come posso utilizzare la funzione getopt in modo da ottenere come opzioni -p
> oppure -c e come argomenti gli argomenti relativi al tipo di opzione ?
> Mi spiego meglio con un esempio:
>
> prova -p 0 /home/paolo/file.txt read
> mi servirebbe avere: opt = -p
> args = 0 /home/paolo/file.txt read
> args mi serve come array:
> args[0] = 0
> args[1] = /home/paolo/file.txt
> args[3] = read
io mi trovo molto bene con questa ricetta di michele Simionato che usa la
docsctring stessa, opportunamente (ed intuitivamente) formattata sia per
l'help che per la definizione delle opzioni. Così ti trovi sempre
obbligatoriamente l'help corretto
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278844
Credo che l'esempio sia molto chiaro e quello che tu vuoi è facile.
"""An example script invoking optionparse, my wrapper around optparse.
usage: %prog [options] args
-p, --positional: print positional arguments
-1, --option1=OPTION1: print option1
-2, --option2=OPTION2: print option2
"""
import optionparse
opt, args = optionparse.parse(__doc__)
in args come ovvio trovi gli argomenti, opt è una istanza i cui attributi
sono le opzioni possibili: None se non è definita, OPTION1, OPTION2 etc se
impostata.
sandro
Maggiori informazioni sulla lista
Python