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.