|
|
|
La libreria di riferimento di Python |
|
|
|
17.1.1 Oggetti RExec
Le istanze di RExec supportano i seguenti metodi:
-
code deve essere una stringa contenente un'espressione Python o
un oggetto codice compilato, che verrà valutato nel modulo
__main__ dell'ambiente limitato. Viene restituito il valore
dell'espressione o dell'oggetto codice.
-
code deve essere una stringa contenente una o più righe di
codice Python o un oggetto codice compilato, che verrà eseguito nel
modulo __main__ dell'ambiente limitato.
-
Esegue il codice Python contenuto nel file filename nel modulo
__main__ dell'ambiente limitato.
I metodi il cui nome inizia con "s_" sono simili alle funzioni
che iniziano con "r_", ma al codice verrà garantito l'accesso alla
versione limitata dei flussi standard di I/O sys.stdin
,
sys.stderr
e sys.stdout
.
-
code deve essere una stringa contenente un'espressione Python,
che verrà valutata nell'ambiente limitato.
-
code deve essere una stringa contenente una o più righe di
codice Python, che verranno eseguite nell'ambiente limitato.
-
Esegue il codice Python contenuto nel file filename
nell'ambiente limitato.
Gli oggetti RExec devono anche fornire supporto per vari
metodi che verranno implicitamente richiamati dal codice eseguito
nell'ambiente ristretto. La sovrascrittura di questi metodi in una
sotto classe è un tecnica utilizzata per alterare la condotta imposta da un
ambiente limitato.
r_import( |
modulename[, globals[,
locals[, fromlist]]]) |
-
Importa il modulo modulename, sollevando un'eccezione
ImportError se il modulo viene considerato insicuro.
r_open( |
filename[, mode[, bufsize]]) |
-
Metodo eseguito quando la funzione open() viene chiamata in
un ambiente limitato. Gli argomenti sono identici a quelli di
open() e deve essere restituito un oggetto di tipo file (o
l'istanza di una classe compatibile con gli oggetti file).
Il comportamento predefinito di RExec è quello di permettere
l'apertura di tutti i file in lettura, ma impedire ogni accesso in
scrittura. Vedete l'esempio sotto per un'implementazione meno
restrittiva di r_open().
-
Ricarica l'oggetto modulo module, rianalizzandolo e
reinizializzandolo.
-
Scarica dalla memoria l'oggetto modulo module (lo rimuove dal
dizionario
sys.modules
dell'ambiente limitato).
E gli equivalenti con l'accesso ai flussi di I/O standard limitati:
s_import( |
modulename[, globals[,
locals[, fromlist]]]) |
-
Importa il modulo modulename sollevando un'eccezione
ImportError se il modulo viene considerato insicuro.
-
Ricarica l'oggetto modulo module, rianalizzandolo e
reinizializzandolo.
-
Scarica dalla memoria il modulo module.
|
|
|
La libreria di riferimento di Python |
|
|
|
Release 2.3.4, documentation updated on 21. maggio 2005.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.