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.