6.20.3.3 Azioni delle opzioni

Le varie azioni delle opzioni hanno tutte requisiti ed effetti leggermente differenti. Ad eccezione dell'azione ``help'', dovete fornire almeno un'altro argomento chiave quando create la Option; i requisiti esatti per ogni azione vengono elencati qui:

store
[requisiti pertinenti: type, dest, nargs, choices]

L'opzione deve essere seguita da un argomento, che viene convertito in un valore secondo quanto specificato in type, e memorizzato in dest. Se nargs > 1, possono venire elaborati più argomenti dalla riga di comando; tutti gli argomenti verranno convertiti secondo quanto specificato in type, e memorizzati sotto forma di tupla in dest. Vedete la sezionne 6.20.3, ``Tipi delle opzioni'', più sotto.

Se viene fornito choices (una sequenza di stringhe), il tipo predefinito è ``choice''.

Se type non viene specificato, il tipo predefinito è ``string''.

Se dest non viene specificato, optparse deriva il nome della variabile di destinazione dalla prima opzione in forma lunga (per esempio --foo-bar diventa foo_bar). Se non ci sono opzioni in forma lunga, optparse deriva il nome della destinazione dalla prima opzione in forma breve (per esempio, -f diventa f).

Esempio:

make_option("-f")
make_option("-p", type="float", nargs=3, dest="point")

Data la seguente riga di comando:

-f foo.txt -p 1 -3.5 4 -fbar.txt

optparse imposterà:

values.f = "bar.txt"
values.point = (1.0, -3.5, 4.0)

(In effetti, values.f viene impostato due volte, ma solo la seconda volta è visibile nella parte finale.)

store_const
[richiesti: const, dest]

Il valore const fornito al costruttore di Option viene memorizzato in dest.

Esempio:

make_option("-q", "--quiet",
       action="store_const", const=0, dest="verbose"),
make_option("-v", "--verbose",
       action="store_const", const=1, dest="verbose"),
make_option("--noisy",
       action="store_const", const=2, dest="verbose"),

Se viene visto --noisy, optparse imposterà:

values.verbose = 2

store_true
[richiesto: dest]

Uno caso speciale di ``store_const'', che memorizza True in dest.

store_false
[richiesto: dest]

Come ``store_true'', ma memorizza False.

Esempio:

make_option(None, "--clobber", action="store_true", dest="clobber")
make_option(None, "--no-clobber", action="store_false", dest="clobber")

append
[requisiti pertinenti: type, dest, nargs, choices]

L'opzione deve essere seguita da un argomento, che viene accodato alla lista in dest. Se non viene fornito alcun valore predefinito per dest (cioè il valore predefinito è None), non appena optparse incontra questa opzione sulla riga di comando viene automaticamente creata una lista vuota. Se nargs > 1, vengono elaborati più argomenti, e una tupla di lunghezza pari a nargs viene aggiunta a dest.

I valori predefiniti per type e dest sono uguali a quelli dell'azione ``store''.

Esempio:

make_option("-t", "--tracks", action="append", type="int")

Se l'argomento -t3 viene individuato sulla riga di comando, optparse esegue l'equivalente di:

values.tracks = []
values.tracks.append(int("3"))

Se, un po' più avanti, venisse individuato --tracks=4, verrebbe eseguito:

values.tracks.append(int("4"))

Vedete ``Gestione degli Errori'' (sezione 6.20.2) per informazioni su modo in cui optparse si comporta con qualcosa come --tracks=x.

count
[richiesto: dest]

Incrementa il valore intero memorizzato in dest. dest viene impostato a zero prima di venire incrementato la prima volta (a meno che non abbiate fornito un valore predefinito).

Esempio:

make_option("-v", action="count", dest="verbosity")

La prima molta che -v viene individuato sulla riga di comando, optparse esegue l'equivalente di:

values.verbosity = 0
values.verbosity += 1

Ogni occorrenza successiva di -v risulta tale:

values.verbosity += 1

callback
[richiesto: callback; requisiti pertinenti: type, nargs, callback_args, callback_kwargs]

Chiama la funzione specificata da callback. La dichiarazione della funzione dovrebbe essere:

func(option : Option,
     opt : string,
     value : any,
     parser : OptionParser,
     *args, **kwargs)

Le opzioni di callback vengono trattate dettagliatamente nella sezione 6.20.4, ``Opzioni di callback''.

help
[richiesto: nessuno]

Stampa un completo messagio di aiuto per tutte le opzioni nell'istanza corrente del parser delle opzioni. Il messaggio di aiuto viene costruito dalle stringhe usage passate al costruttore di OptionParser, e dalla stringa help passata singolarmente a ciascuna opzione.

Se non viene fornita nessuna stringa help per un'opzione, questa viene comunque mostrata nel messaggio di aiuto. Per omettere completamente una opzione, usate il valore speciale optparse.SUPPRESS_HELP.

Esempio:

from optparse import Option, OptionParser, SUPPRESS_HELP

usage = "usage: %prog [options]"
parser = OptionParser(usage, option_list=[
  make_option("-h", "--help", action="help"),
  make_option("-v", action="store_true", dest="verbose",
              help="Sii moderatamente verboso")
  make_option("--file", dest="filename",
              help="File di input da cui leggere i dati"),
  make_option("--secret", help=SUPPRESS_HELP)
])

Se optparse incontra -h oppure --help sulla riga di comando, verrà stampato sullo stdout qualcosa di simile al seguente messaggio di aiuto:

usage: <yourscript> [options]

options:
  -h, --help        Visualizza questo messaggio ed esci
  -v                Sii moderatamente verboso
  --file=FILENAME   File di input da cui leggere i dati

Dopo aver stampato il messaggio di aiuto, optparse termina il vostro processo con il codice di uscita sys.exit(0).

version
[richiesto: nessuno]

Stampa il numero di versione fornito ad OptionParser sullo stdout, ed esce. Il numero di versione viene effettivamente formattato e stampato dal metodo print_version() di OptionParser. Generalmente è rilevante solo se l'argomento version viene fornito al costruttore di OptionParser.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy