[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