Sobre o módulo tokenize
Como o nome sugere, o módulo tokenize pode ser usado para criar "tokens" a partir de um parágrafo ou um pedaço de texto. Cada peça quebrada individual retornou após o processo de tokenização ser chamado de token. Depois de tokenizar um texto, você pode implementar sua própria lógica em seu programa Python para processar os tokens de acordo com o seu caso de uso. O módulo tokenize fornece alguns métodos úteis que podem ser usados para criar tokens. O uso desses métodos pode ser melhor compreendido através de exemplos. Alguns deles são explicados abaixo.
Tokenizando um parágrafo ou frase
Você pode tokenizar um parágrafo ou uma frase com palavras separadas por espaço usando o exemplo de código explicado abaixo.
importar tokenizeAs duas primeiras declarações importam os módulos Python necessários para converter um pedaço de texto em tokens individuais. Uma variável chamada "texto" contém uma string de exemplo. Em seguida, o método "tokenize" do módulo tokenize é chamado. Ele usa o método "readline" como um argumento obrigatório. Como a variável de texto é do tipo "str", usá -lo diretamente lançará um erro. O argumento readline é um método chamável que deve retornar bytes em vez de uma string para o método tokenize funcionar corretamente. Então, usando a classe "Bytesio", o texto é convertido em um fluxo de bytes especificando um tipo de codificação.
O método tokenize gera uma tupla nomeada contendo cinco tipos: tipo (tipo de token), string (nome do token), start (posição inicial do token), final (posição final do token) e linha (a linha (a linha que foi usado para criar tokens). Então, depois de executar o exemplo de código acima, você deve obter uma saída semelhante a isso:
Tokeninfo (tipo = 62 (codificação), string = 'utf-8', start = (0, 0), end = (0, 0), line = ")Como você pode ver na saída acima, o método tokenize gera um “Tokeninfo”Objeto com cinco tipos mencionados acima. Se você deseja acessar esses tipos individualmente, use a notação de pontos (como mostrado no exemplo de código abaixo).
importar tokenizeDepois de executar a amostra de código acima, você deve obter a seguinte saída:
Observe que o “t.tipo”A chamada retorna um número constante para o tipo de token. Se você quiser um tipo de token mais legível pelo homem, use o “símbolo”Módulo e o“tok_name”Dicionário disponível nele.
importar tokenizeFornecendo “t.Digite ”constante para o dicionário“ Tok_Name ”, você pode obter um nome legível humano para o tipo de token. Depois de executar a amostra de código acima, você deve obter a seguinte saída:
UTF-8 (0, 0) (0, 0) CodificaçãoUma lista completa de todos os tipos de token e seus nomes está disponível aqui. Observe que o primeiro token é sempre o tipo de codificação de fluxo de entrada e não tem um valor de partida e final.
Você pode facilmente obter uma lista de nomes apenas de token usando instruções de loop ou compreensões de listar, como mostrado no exemplo de código abaixo.
importar tokenizeDepois de executar a amostra de código acima, você deve obter a seguinte saída:
['utf-8', 'lorem', 'ipsum', 'dolor', 'sit', 'amet', ',', 'consecteter', 'adipiscing', 'elit', ',' sed ' , 'do', 'eiusmod', 'temporal', 'incididunt', 'ut', 'labore', 'et', 'dolore', 'magna', 'aliqua', '.', ","]Você pode usar o método "Gereate_tokens" disponível no módulo Tokenize se quiser tokenizar uma string sem convertê -la em bytes. Ainda é necessário um método de readline chamável como argumento obrigatório, mas apenas lida com as strings devolvidas pelo método ReadLine e não bytes (ao contrário do método tokenize explicado acima). O exemplo de código abaixo ilustra o uso do método Generate_tokens. Em vez da classe Bytesio, agora a classe "stringio" é usada.
importar tokenizeDepois de executar a amostra de código acima, você deve obter a seguinte saída:
['Lorem', 'ipsum', 'dolor', 'sit', 'AMET', ',' eiusmod ',' temporal ',' incididunt ',' ut ',' labore ',' et ',' dolore ',' magna ',' aliqua ','.', ","]Conteúdo tokenizante de um arquivo
Você pode usar a declaração "com aberto" no modo "RB" para ler diretamente o conteúdo de um arquivo e depois tokenizá -lo. O "R" no modo "RB" significa o modo somente leitura, enquanto "B" significa modo binário. O exemplo de código abaixo abre uma “amostra.Arquivo TXT ”e tokeniza seu conteúdo usando os métodos Tokenize e ReadLine.
importar tokenizeVocê também pode usar o "Open", um método de conveniência disponível no módulo Tokenize e depois chama Generate_tokens e ReadLine Methods para criar tokens a partir de um arquivo diretamente.
importar tokenizeAssumindo que a amostra.O arquivo txt contém a mesma string de exemplo, você deve obter a seguinte saída depois de executar as duas amostras de código explicadas acima.
['Lorem', 'ipsum', 'dolor', 'sit', 'AMET', ',' eiusmod ',' temporal ',' incididunt ',' ut ',' labore ',' et ',' dolore ',' magna ',' aliqua ','.', ","]Conclusão
O módulo Tokenize em Python fornece uma maneira útil de tokenizar pedaços de texto contendo palavras separadas por espaço. Ele também cria um mapa de posições iniciais e finais de tokens. Se você deseja tokenizar cada palavra de texto, o método tokenize é melhor que o método "dividido", pois também cuida de caracteres de pontuação / outros símbolos e também infecta o tipo de token.