Il modulo tokenize fornisce uno scanner lessicale per il codice sorgente Python, implementato in Python. Lo scanner di questo modulo restituisce sia commenti che simboli, rendendolo utile nell'implementazione di stampe in forma elegante, inclusi decoratori per schermate a video.
Il punto di partenza iniziale è un generatore:
readline) |
Il generatore produce tuple di 5 elementi con questi membri:
il tipo di simbolo; la stringa del simbolo;
una tupla formata da 2 elementi (srow, scol)
di
numeri interi che specificano riga e colonna nel codice in cui il simbolo
inizia;
una tupla formata da 2 elementi (erow, ecol)
di
numeri interi che specificano riga e colonna nel codice in cui il simbolo
finisce; e la riga in cui viene trovato il simbolo.
La riga passata è quella logica; sono comprese le righe di
continuazione.
Nuovo nella versione 2.2.
Per retrocompatibilità viene mantenuto un vecchio punto di partenza:
readline[, tokeneater]) |
Il primo parametro, readline, deve essere un oggetto richiamabile che fornisce la stessa interfaccia del metodo readline() incluso negli oggetti file built-in (vedete la sezione 2.3.9). Ogni chiamata alla funzione dovrebbe restituire una riga di input sotto forma di stringa.
Il secondo parametro, tokeneater, deve essere anch'esso un oggetto richiamabile. Viene chiamato una volta per ogni simbolo, con cinque argomenti che corrispondono alle tuple generate da generate_tokens().
Tutte le costanti provenienti dal modulo token vengono esportate anche da tokenize, inoltre ci sono due valori aggiuntivi di tipi di simbolo che possono venire passati alla funzione tokeneater da tokenize():