[Python] Eseguire del codice in una stringa (gestione aggiornamenti?)

orciml orciml a gmail.com
Ven 19 Feb 2010 07:43:00 CET


michele a nectarine.it ha scritto:
> Ciao,
> ho in mente una cosa abbastanza "strana".
>
> Supponendo che io abbia un'applicazione cosi` strutturata:
> - un componente, che chiamiamo RE, che costituisce lo scheletro  
> dell'applicazione, e importa tutte le librerie richieste. Tale  
> componente ha soltanto uno scopo ben preciso
> - il codice vero e proprio dell'applicazione.
>
> Ora, il RE ha un compito ben preciso: scaricare [e supponiamo, per  
> ora, che questo venga fatto in modo sicuro e senza modifiche] il  
> codice sorgente dell'applicazione, e non ci preoccupiamo per ora di  
> come lo scarica.
> Quello che voglio realizzare in questo modo e` un'applicazione che si  
> autoaggiorna ad ogni avvio, scaricando il codice sorgente ed  
> eseguendolo.
>
> Il punto e` proprio questo: come posso scrivere una semplice  
> applicazione che, data una stringa di testo passata come argomento [e  
> tale stringa contiene il sorgente del nostro programma], esegue il  
> codice.
>
> Prima domanda: e` possibile tutto cio` ?
> Seconda domanda: quali sono i metodi che devo guardarmi? eval() e  
> compile() possono fare al caso mio?
>
> Vi ringrazio.
>    Michele
>
>   
# posso creare codice al volo tramite l'esecuzione dell'istruzione exec
exec ("list=['pippo',2,3,4]")
print list

# oppure posso appoggiarmi alla lettura di un file esterno
execfile("l02.py")
print diz

ciao Loris


Maggiori informazioni sulla lista Python