11.2.5 Funzioni

Queste sono utili se si vuole maggior controllo, o se si vogliono impiegare alcuni degli algoritmi implementati in questo modulo in altre circostanze.

parse( fp[, keep_blank_values[, strict_parsing]])
Analizza una query nell'ambiente o da un file (il file predefinito è sys.stdin). I parametri keep_blank_values e strict_parsing vengono passati a parse_qs() inalterati.

parse_qs( qs[, keep_blank_values[, strict_parsing]])
Analizza una stringa di una query passata come un argomento stringa (dati di tipo application/x-www-form-urlencoded). I dati vengono restituiti come un dizionario. Le chiavi del dizionario sono i nomi univoci delle variabili della query e i valori sono liste di valori per ogni nome.

L'argomento facoltativo keep_blank_values è un'opzione che indica quando valori vuoti nelle query codificate in URL devono essere trattati come stringhe vuote. Un valore True indica che i campi vuoti devono essere considerati stringhe vuote. Il valore predefinito False indica che un valore vuoto deve essere ignorato e trattato come se non fosse incluso.

L'argomento facoltativo strict_parsing è un'opzione che indica come trattare gli errori di analisi. Se False (il predefinito), gli errori sono silenziosamente ignorati. Se True, gli errori sollevano una eccezione ValueError.

Usare la funzione urllib.urlencode() per convertire i dizionari in stringhe di query.

parse_qsl( qs[, keep_blank_values[, strict_parsing]])
Analizza una stringa di query passata come un argomento stringa (dato di tipo application/x-www-form-urlencoded). I dati vengono restituiti come una lista di coppie nome, valore.

L'argomento facoltativo keep_blank_values è un'opzione che indica quando i valori vuoti nelle query codificate in URL devono essere trattate come stringhe vuote. Un valore True indica che i campi vuoti devono essere considerati come stringhe vuote. Il valore predefinito False indica che i valori vuoti devono essere ignorati e trattati come se non fossero inclusi.

L'argomento facoltativo strict_parsing è un'opzione che indica come comportarsi con gli errori di analisi. Se False (il predefinito), gli errori devono essere silenziosamente ignorati. Se True, gli errori sollevano eccezione ValueError.

Usare la funzione urllib.urlencode() per convertire le liste di coppie in stringhe di query.

parse_multipart( fp, pdict)
Analizza gli input del tipo multipart/form-data (per gli upload di file). Gli argomenti sono fp per il file in input e pdict per un dizionario contenente altri parametri negli header Content-Type:.

Restituisce un dizionario come le chiavi di parse_qs() sono nel nome del campo, ogni valore è una lista di valori per quel campo. Questa è facile da usare ma non molto efficiente se ci si aspettano megabyte in arrivo -- in questo caso, al suo posto usare la classe FieldStorage che risulta molto più flessibile.

Notare che questa non analizza parti multiple annidate -- al suo posto usare FieldStorage.

parse_header( string)
Analizza una intestazione MIME (come Content-Type:) in un valore principale e un dizionario di parametri.

test( )
Un robusto script di test CGI, utilizzabile come programma principale. Scrive il minimo necessario di intestazioni HTTP e formatta tutte le informazioni fornite dallo script nella forma HTML.

print_environ( )
Formatta l'ambiente della shell in HTML.

print_form( form)
Formatta una form in HTML.

print_directory( )
Formatta la directory corrente in HTML.

print_environ_usage( )
Stampa una lista di utili variabili d'ambiente in HTML (usate dal CGI).

escape( s[, quote])
Converte i caratteri "&", "<" e ">" nella stringa s in sequenze HTML sicure. La si utilizzi quando si ha bisogno di mostrare testo che deve contenere questi caratteri in HTML. Se l'opzione facoltativa quote è vera, anche il carattere di doppia virgoletta (""") viene tradotto; questo aiuta per le inclusioni in un valore di attributo HTML come <A HREF="...">. Se il valore da racchiudere tra virgolette deve includere caratteri di singole o doppie virgolette, o entrambe, considerare invece l'uso della funzione quoteattr() fornita nel modulo xml.sax.saxutils.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.