[Python] trasformare una stringa in un nome di funzione.
Marco Beri
marcoberi a gmail.com
Mar 25 Giu 2013 17:56:08 CEST
2013/6/25 Gollum1 <gollum1.smeagol1 a gmail.com>
> Il giorno 25/giu/2013 16:27, "Giovanni Porcari" <
> giovanni.porcari a softwell.it> ha scritto:
>
> > usare getattr(self, nome) ?
>
> Credo che questa sia la soluzione corretta... però non riuscivo a capire
> cher cosa mettere come app... in effetti non avevo provato con self...
>
> La situazione è la seguente:
>
> Le funzioni da richiamare sono nello stesso file del programma principale,
> anche la def che le chiama... quindi tutto si svolge in locale. Avevo
> provato con __main__ con e senza appici... ma non funzionava... appena
> posso provo con self.
>
Inutile provare. Il self non ha niente di speciale. È solo una (buona)
convenzione.
Se proprio non hai altra soluzione, usa globals():
def pippo():
print "Eccomi!"
def pluto():
globals()['pippo']()
Se chiami pluto() vedrai stampare "Eccomi!".
Ciao.
Marco.
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130625/23fb32da/attachment.html>
Maggiori informazioni sulla lista
Python