[Python] trasformare una stringa in un nome di funzione.

Nadir Sampaoli nadirsampaoli a gmail.com
Mar 25 Giu 2013 18:49:48 CEST


Il giorno 25 giugno 2013 19:13, Pietro Zambelli ha scritto:

> ma non puoi cambiare il codice in modo da avere invece che il nome della
> funzione, la funzione stessa?
>

Da quello che ho capito io, lui già lo fa con gli «if..elif..». Sta
cercando un modo più automatico di passare dagli argomenti avuti da linea
di comando (che sono stringhe) ad oggetti funzione da chiamare.

Qualche tempo in un'altra mail fa qualcuno aveva menzionato una qualche
libreria che ti permette di mappare direttamente le funzioni sugli
argomenti della CLI. Speravo di aver salvato il link tra i bookmark ma non
è così. Ti permetterebbe di fare una cosa del tipo (molto molto a grandi
linee):

    import sys
    import nonmiricordo

    qualcosa = nonmiricordo.Qualcosa()

    @qualcosa.unqualchedecoratore
    def command(arg):
        print 'hello ' + arg

    if __name__ == '__main__':
        qualcosa.esegui(sys.argv[1:])

    $ program.py command --arg=foo
    hello foo

Insomma, la non meglio definita libreria riempie il buco fra argomenti come
stringa e codice associato.
Che bello essere così dettagliati! Magari qualche anima pia interviene a
precisare!

Ciao,
Nadir
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130625/5f7f80bf/attachment-0001.html>


Maggiori informazioni sulla lista Python