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

michele a nectarine.it michele a nectarine.it
Gio 18 Feb 2010 21:46:54 CET


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



Maggiori informazioni sulla lista Python