Sul modulo tokenize
Come suggerisce il nome, il modulo tokenize può essere utilizzato per creare "token" da un paragrafo o un pezzo di testo. Ogni singolo pezzo rotto restituito dopo il processo di tokenizzazione è chiamato token. Una volta che tokenizza un testo, puoi implementare la tua logica nel tuo programma Python per elaborare i token in base al tuo caso d'uso. Il modulo tokenize fornisce alcuni metodi utili che possono essere utilizzati per creare token. L'uso di questi metodi può essere meglio compreso attraverso esempi. Alcuni di loro sono spiegati di seguito.
Tokenizzare un paragrafo o una frase
È possibile tokenizzare un paragrafo o una frase con parole separate dallo spazio usando il campione di codice spiegato di seguito.
TOKENIZE DI importazioneLe prime due dichiarazioni importano i moduli Python necessari necessari per convertire un pezzo di testo in singoli token. Una variabile chiamata "testo" contiene una stringa di esempio. Successivamente, il metodo "tokenize" dal modulo tokenize viene chiamato. Utilizza il metodo "readline" come argomento obbligatorio. Poiché la variabile di testo è di tipo "STR", usandola direttamente lancerà un errore. L'argomento readline è un metodo richiamabile che deve restituire byte invece di una stringa per il metodo tokenize per funzionare correttamente. Quindi usando la classe "bytesio", il testo viene convertito in un flusso di byte specificando un tipo di codifica.
Il metodo tokenize genera una tupla denominata contenente cinque tipi: tipo (tipo di token), stringa (nome del token), inizio (posizione iniziale del token), fine (posizione finale del token) che è stato usato per la creazione di token). Quindi, dopo aver eseguito il campione di codice sopra, è necessario ottenere un output simile a questo:
Tokeninfo (type = 62 (codifica), string = 'utf-8', start = (0, 0), end = (0, 0), line = ")Come puoi vedere nell'output sopra, il metodo tokenize genera un "Tokeninfo"Oggetto con cinque tipi sopra menzionati. Se si desidera accedere a questi tipi individualmente, utilizzare la notazione punto (come mostrato nel campione di codice seguente).
TOKENIZE DI importazioneDopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:
Nota che il "T.tipo"La chiamata restituisce un numero costante per il tipo di token. Se vuoi un tipo di token più leggibile dall'uomo, usa il “gettone"Modulo e"tok_name"Dizionario disponibile in esso.
TOKENIZE DI importazioneFornendo “T.Digita "costante al dizionario" tok_name ", puoi ottenere un nome leggibile umano per il tipo token. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:
UTF-8 (0, 0) (0, 0) codificaUn elenco completo di tutti i tipi di token e i loro nomi è disponibile qui. Si noti che il primo token è sempre il tipo di codifica di flusso di input e non ha un valore di inizio e fine.
Puoi facilmente ottenere un elenco di nomi di token utilizzando per le dichiarazioni per loop o le comprensioni dell'elenco, come mostrato nel campione di codice seguente.
TOKENIZE DI importazioneDopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:
['Utf-8', 'Lorem', 'Ipsum', 'Dolor', 'Sit', 'Amet', ',', 'Consecttur', 'Adipiscing', 'Elit', ',', 'Sed' , "do", "eiusmod", "temporali", "incididunt", "ut", "laboro", "et", "dolore", "magna", "aliqua", ".', ","]È possibile utilizzare il metodo "Generate_tokens" disponibile nel modulo tokenize se si desidera tokenizzare una stringa senza convertirla in byte. Ci vuole ancora un metodo di readline callabile come argomento obbligatorio, ma gestisce solo le stringhe restituite con il metodo readline e non i byte (a differenza del metodo tokenize spiegato sopra). Il campione di codice seguente illustra l'uso del metodo Generate_Tokens. Invece della classe bytesio, ora viene utilizzata la classe "Stringio".
TOKENIZE DI importazioneDopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:
['Lorem', 'Ipsum', 'Dolor', 'Sit', 'Amet', ',', 'Consecttur', 'Adipiscing', 'Elit', ',', 'Sed', 'Do', ' eiusmod "," tempora "," incididunt "," ut "," laboro "," et "," dolore "," magna "," aliqua ",".', ","]Tokenizzante contenuto di un file
È possibile utilizzare l'istruzione "con aperta" in modalità "RB" per leggere direttamente il contenuto di un file e quindi tokenizzarlo. La modalità "R" in modalità "RB" sta per la modalità di sola lettura mentre "B" sta per la modalità binaria. Il campione di codice seguente apre un "campione.txt ”file e tokenizza i suoi contenuti usando i metodi tokenize e readline.
TOKENIZE DI importazionePuoi anche utilizzare "Apri", un metodo di convenienza disponibile nel modulo Tokenize, quindi chiamare Generate_Tokens e ReadLine Metodi per creare token da un file direttamente.
TOKENIZE DI importazioneSupponendo che il campione.Il file txt contiene la stessa stringa di esempio, è necessario ottenere il seguente output dopo l'esecuzione dei due campioni di codice spiegati sopra.
['Lorem', 'Ipsum', 'Dolor', 'Sit', 'Amet', ',', 'Consecttur', 'Adipiscing', 'Elit', ',', 'Sed', 'Do', ' eiusmod "," tempora "," incididunt "," ut "," laboro "," et "," dolore "," magna "," aliqua ",".', ","]Conclusione
Il modulo tokenize in Python fornisce un modo utile per tokenizzare pezzi di testo contenenti parole separate dallo spazio. Crea anche una mappa delle posizioni di partenza di inizio e fine. Se si desidera tokenizzare ogni parola di un testo, il metodo tokenize è migliore del metodo "diviso" in quanto si occupa anche di tokenizzare i caratteri di punteggiatura / altri simboli e inflitta anche il tipo di token.