5.21 shlex -- Semplice analizzatore lessicale

Nuovo nella versione 1.5.2.

La classe shlex rende semplice la scrittura di analizzatori lessicali per sintassi elementari somiglianti a quella della shell di Unix. Questo risulterà spesso utile nella scrittura di minilinguaggi, (per esempio nell'esecuzione di file di controllo per le applicazioni Python) o per analizzare stringhe racchiuse tra virgolette.

Il modulo shlex definisce le seguenti funzioni:

split( s[, comments])
Suddivide la stringa s usando una sintassi simile alla shell. Se comments ha valore False (predefinito), l'analisi dei commenti nella stringa fornita verrà disabilitata (impostando il membro commenters dell'istanza di shlex ad una stringa vuota). Questa funzione opera in modalità POSIX. Nuovo nella versione 2.3.

Il modulo shlex definisce inoltre le seguenti classi:

class shlex( [instream[, infile[, posix]]])
Un'istanza di shlex o di una sua sotto classe è un oggetto che rappresenta un analizzatore lessicale. Il primo argomento, se presente, specifica da dove leggere i caratteri. Deve essere un oggetto file/flusso che disponga dei metodi read() e readline(), oppure anche una stringa (possibilità, questa, introdotta dalla versione 2.3). Se non viene passato alcun argomento, verrà utilizzato l'input proveniente da sys.stdin. Il secondo argomento opzionale è una stringa indicante il nome di un file, che imposta il valore iniziale del membro infile. Se l'argomento instream viene omesso oppure è uguale a sys.stdin, questo secondo argomento verrà impostato al valore predefinito ``stdin''. L'argomento posix è stato introdotto nella versione 2.3 di Python, e definisce la modalità operativa. Quando posix non è vero(predefinito), l'istanza di shlex funzionerà in modalità compatibile. Quando invece funziona in modalità POSIX, shlex cercherà di essere il più possibile conforme alle convenzioni di analisi di una shell POSIX. Vedete in proposito la sezione 5.21.1.

Vedete anche:

Modulo ConfigParser:
Analizzatore dei file di configurazione simili ai file .ini di Windows.



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