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

Giovanni Porcari giovanni.porcari a softwell.it
Mar 25 Giu 2013 16:27:38 CEST


Il giorno 25/giu/2013, alle ore 16:08, Gollum1 <gollum1.smeagol1 a gmail.com> ha scritto:

> Ho trovato in alcuni articoli (il principale è stato un articolo su
> stackoverflow, sul case che in python non esiste) e nel testo del
> nostro Marco Beri la possibilità di utilizzare una funzione come
> argomenti di un'altra funzione...
> 
> il mio intento sarebbe quello di richiamare delle funzioni in base ad
> un parametro passato dalla linea di comando, e processato da
> argparse()
> 
> quindi ho preparato questa def:
> 
> def exec_function(function, *args, **kargs):
>    function(args, kargs)
> 
> nel main richiamo la funzione passando come primo argomento l'output
> di argparse relativo proprio a quello che mi serve...
> 
> il problema è che function risulta essere una stringa, e giustamente
> non può essere usata come funzione... come posso passare dal nome
> della funzione contenuta in una stringa, alla funzione vera e propria?
> 
> Naturalmente ora tutto funziona con una serie di if...elif...else,
> quindi è una domanda più accademica che altro.
> 
> Grazie...
> 


usare getattr(self, nome) ?

G



Maggiori informazioni sulla lista Python