6.20.4.2 Come vengono chiamate le funzioni di callback

Tutte le funzioni di callback vengono chiamate nel modo seguente:

func(option, opt, value, parser, *args, **kwargs)

dove

option
� l'istanza Option che sta chiamando la funzione di callback.

opt
� la stringa di opzione trovata nella riga di comando che provoca la chiamata alla funzione di callback. (Se viene usata la forma abbreviata di un'opzione in forma estesa, opt conterr� quest'ultima, la stringa di opzione canonica--per esempio, se l'utente immette --foo sulla riga di comando come abbreviazione di --foobar, allora opt sar� --foobar.)

value
� l'argomento dell'opzione incontrata sulla riga di comando. optparse si aspetta solo un argomento se type viene impostato; il tipo di dato del valore value sar� del tipo sottinteso dallo stesso type dell'opzione (vedete 6.20.3, ``Tipi delle opzioni''). Se il tipo dell'opzione type vale None (nessun argomento atteso), allora value varr� None. Se "nargs > 1", value sar� una tupla di valori del tipo appropriato.

parser
� l'istanza di OptionParser che chiama la funzione, utile principalmente perch� attraverso essa potete accedere ad altri dati interessanti, come gli attributi dell'istanza:

parser.rargs
la lista corrente degli argomenti rimanenti, ovvero con opt rimosso (e value, se esistente) e con presenti i soli argomenti che li seguono. La lista parser.rargs pu� venire liberamente modificata, per esempio rimuovendo pi� argomenti.

parser.largs
l'insieme corrente di argomenti rimasti, cio� quegli argomenti che sono stati elaborati ma che non sono stati riconosciuti come opzioni (o come argomenti di opzione). parser.largs pu� venire liberamente modificato, ad esempio aggiungendovi ulteriori argomenti.

parser.values
l'oggetto in cui i valori delle opzioni vengono memorizzati in modo predefinito. L'oggetto � utile perch� permette alle funzioni di callback di utilizzare lo stesso meccanismo di optparse per la memorizzazione dei valori delle opzioni; non avete bisogno di pasticciare con variabili globali o valori restituiti. Potete anche accedere al(i) valore(i) di qualsiasi opzione incontrata sulla riga di comando.

args
� una tupla di argomenti posizionali arbitrari fornita tramite l'attributo callback_args dell'opzione.

kwargs
� un dizionario di chiavi arbitrarie fornito tramite callback_kwargs.

Dal momento che args e kwargs sono facoltativi (vengono passati solo definendo callback_args e/o callback_kwargs in fase di definizione della opzione di callback), la funzione di callback pi� semplice �:

def my_callback(option, opt, value, parser):
    pass

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