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

Rispondere a