[Python] Importazione file esterni
Enrico Franchi
enrico.franchi a gmail.com
Sab 8 Nov 2008 14:03:45 CET
On Nov 8, 2008, at 1:16 PM, Zanon Samuele wrote:
> ok... risolto... un'aktra domanda... posso importare un modulo
> passato all'import mediante una variabile?
>
> cioè io sull'url o da un campo nascosto di un form mi passo il nome
> del file da importare. prelevo il nome mediante:
>
> form = cgi.FieldStorage()
> tree = form.getvalue("tree")
>
> e se provo a vare:
>
> try:
> import tree
> except ImportError:
> print "Impossibile importare il modulo: " + tree
>
> mi dice che è impossibile importare il modulo che gli passo tramite
> il tree.
Ovviamente. Non puoi farlo così. In secondo luogo mi sembra veramente
una pessima cosa avere l'input dell'utente utilizzato per caricare
codice.
L'input dovrebbe essere attentamente validato e controllato per
assicurarsi che non sia possibile fonte di bachi o sia un attacco tout
court.
Potresti comunque usare dare un occhio a __import__:
http://www.python.org/doc/2.5.2/lib/built-in-funcs.html
http://diveintopython.org/functional_programming/dynamic_import.html
Ma io fossi in te *non* lo userei in quel modo.
Maggiori informazioni sulla lista
Python