6.20.3.4 Tipi delle opzioni

optparse supporta nativamente sei tipi di dato: string, int, long, choice, float e complex. (Di questi, stringa, numero intero, numero in virgola mobile, e scelta/selezione, sono quelli usati più fequentemente--intero long e numero complesso vengono supportati principalmente per completezza.) È facile aggiungere nuovi tipi di dato tramite la creazione di classi derivate di Option; vedete la sezione 6.20.5, ``Estendere optparse''.

Gli argomenti destinati alle opzioni di tipo stringa non vengono controllati o convertiti in alcun modo: il testo sulla riga di comando viene memorizzato nella destinazione (o passato alla funzione di callback) così come si trova.

Gli argomenti di tipo intero vengono passati a int() per essere convertiti in interi Python. Se int() fallisce, allora anche optparse lo farà, anche se con un messaggio di errore più utile e comprensibile. Internamente, optparse solleva l'eccezione OptionValueError in optparse.check_builtin(); ad un livello più alto (in OptionParser), optparse cattura questa eccezione, e termina il programma con un messaggio di errore comprensibile.

Allo stesso modo, gli argomenti di tipo in virgola mobile vengono passati a float() per la conversione, quelli di tipo long a long(), ed i complessi a complex(). A parte questo, vengono trattati alla stessa stregua degli argomenti di tipo intero.

Le opzioni di tipo ``choice'' (NdT: scelta/selezione) sono dei tipi derivati dalle opzioni ``string''. Una lista o tupla principale di scelte/selezioni (stringhe) deve venire passata al costruttore dell'opzione (make_option() oppure a OptionParser.add_option()) come chiave choices. Gli argomenti di un'opzione ``choice'' vengono confrontati con i valori della lista pincipale in optparse.check_choice(), e l'eccezione OptionValueError viene sollevata quando viene fornita una stringa sconosciuta.

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