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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a