[Python] eseguire codice python da dentro un programma python

Fabrizio Mancini mr.file a gmail.com
Lun 24 Set 2012 19:53:50 CEST


Ciao ragazzi,
dovrei dare la possibilità all'utente di inserire del codice python da eseguire all'interno di una metodo python.
So che posso usare sia eval che exec, ma il primo mi valuta il codice e mi torna il valore ma non mi esegue gli statements, il secondo esegue gli statements ma non mi torna il valore.
esempio: l'utente inserisce il seguente codice che va eseguito sul campo in oggetto, la variabile che detiene il valore si chiama field_val

CODIFICA = {0:'A', 1:'B' ...}
u"".join([CODIFICA[i] for i in unicode(field_val)])

se eseguo prima exec('CODIFICA = {0:'A', 1:'B' ...}') e poi
eval(u"".join([CODIFICA[i] for i in unicode(field_val)]))
quest'ultimo mi dice che non conosce CODIFICA.
come faccio a unificare le due cose?
spero di essermi spiegato... :-)
grazie fabrizio


Maggiori informazioni sulla lista Python