6.20.2.3 Impostare i valori predefiniti

Tutti i precedenti esempi necessitano dell'impostazione di alcune variabili (la ``destinazione'') quando vengono rilevate certe opzioni da riga di comando. Cosa succede se queste opzioni non venissero mai rilevate? Se non vengono impostate delle opzioni predefinite, vengono tutte impostate a None. Questo comportamento qualche volta pu� essere accettabile (e questo � il motivo per cui � il predefinito), ma qualche volta potreste volere un un maggiore controllo. Per soddisfare questa necessit�, optparse vi permette di impostare un valore predefinito per ogni destinazione, che viene assegnato prima che la riga di comando venga analizzata.

Innanzitutto considerate l'esempio prolisso/quieto. Se vogliamo che optparse imposti verbose a True senza che -q venga rilevato, allora possiamo fare cos�:

parser.add_option("-v", action="store_true", dest="verbose", default=True)
parser.add_option("-q", action="store_false", dest="verbose")

Stranamente, questo � esattamente equivalente:

parser.add_option("-v", action="store_true", dest="verbose")
parser.add_option("-q", action="store_false", dest="verbose", default=True)

Questi sono equivalenti in quanto avete fornito un valore predefinito per la destinazione delle opzioni, e queste due opzioni hanno la stessa destinazione (la variabile verbose)

Considerate questo:

parser.add_option("-v", action="store_true", dest="verbose", default=False)
parser.add_option("-q", action="store_false", dest="verbose", default=True)

Di nuovo, il valore predefinito per verbose sar� True: l'ultimo valore predefinito fornito per ogni destinazione � l'unico che ha importanza.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.