À propos du module de tokenize
Comme son nom l'indique, le module de tokenize peut être utilisé pour créer des «jetons» à partir d'un paragraphe ou d'un morceau de texte. Chaque pièce cassée individuelle retournée après le processus de tokenisation est appelée un jeton. Une fois que vous avez tokeniser un texte, vous pouvez implémenter votre propre logique dans votre programme Python pour traiter les jetons en fonction de votre cas d'utilisation. Le module tokenize fournit des méthodes utiles qui peuvent être utilisées pour créer des jetons. L'utilisation de ces méthodes peut être mieux comprise à travers des exemples. Certains d'entre eux sont expliqués ci-dessous.
Tokensizing un paragraphe ou une phrase
Vous pouvez tokensize un paragraphe ou une phrase avec des mots séparés dans l'espace en utilisant l'échantillon de code expliqué ci-dessous.
tokenize d'importationLes deux premières déclarations importent les modules Python nécessaires nécessaires à la conversion d'un texte en jetons individuels. Une variable appelée «texte» contient un exemple de chaîne. Ensuite, la méthode «tokenize» du module de tokenize est appelée. Il utilise la méthode «Readline» comme argument obligatoire. Étant donné que la variable de texte est de type «STR», l'utiliser directement lancera une erreur. L'argument Readline est une méthode appelée qui doit renvoyer les octets au lieu d'une chaîne pour que la méthode tokenize fonctionne correctement. Ainsi, en utilisant la classe «ByTesio», le texte est converti en flux d'octets en spécifiant un type de codage.
La méthode de tokenize génère un tuple nommé contenant cinq types: type (type de jeton), chaîne (nom du jeton), démarrage (position de départ du jeton), end (position de fin du jeton) et ligne (la ligne qui a été utilisé pour créer des jetons). Ainsi, après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir une sortie similaire à ceci:
Tokeninfo (type = 62 (codage), string = 'utf-8', start = (0, 0), end = (0, 0), line = ")Comme vous pouvez le voir dans la sortie ci-dessus, la méthode de tokenize génère un «Tokeninfo”Objet avec cinq types mentionnés ci-dessus. Si vous souhaitez accéder à ces types individuellement, utilisez la notation de points (comme indiqué dans l'échantillon de code ci-dessous).
tokenize d'importationAprès avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
Notez que le «t.taper»L'appel renvoie un nombre constant pour le type de jeton. Si vous voulez un type de jeton plus lisible par l'homme, utilisez le "jeton”Module et le"tok_name”Dictionnaire disponible.
tokenize d'importationEn fournissant «t.Type ”Constante au dictionnaire« tok_name », vous pouvez obtenir un nom lisible par l'homme pour le type de jeton. Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
UTF-8 (0, 0) (0, 0) EncodageUne liste complète de tous les types de jetons et leurs noms est disponible ici. Notez que le premier jeton est toujours le type de flux d'entrée de codage et qu'il n'a pas de valeur de début et de fin.
Vous pouvez facilement obtenir une liste de noms de jetons justes en utilisant des instructions de boucle ou des compréhensions de liste, comme indiqué dans l'échantillon de code ci-dessous.
tokenize d'importationAprès avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
[«utf-8», «Lorem», «ipsum», «Dolor», «Sit», «Amet», «,« Connecteur »,« adipiscing »,« Elit »,», «,« Sed » , «do», «eiusmod», «temporaire», «incidint», «ut», «labore», «et», «dolore», «magna», «Aliqua», «.', ","]Vous pouvez utiliser la méthode "generate_tokens" disponible dans le module tokenize si vous souhaitez tokenize une chaîne sans la convertir en octets. Il prend toujours une méthode de lecture appelable comme l'argument obligatoire, mais il ne gère que les chaînes renvoyées par la méthode de lecture et non les octets (contrairement à la méthode de tokenize expliquée ci-dessus). L'exemple de code ci-dessous illustre l'utilisation de la méthode Generate_Tokens. Au lieu de la classe ByTesio, maintenant la classe «Stringio» est utilisée.
tokenize d'importationAprès avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
[«Lorem», «Ipsum», «Dolor», «Sit», «Amet», «,« Conseectetur »,« Adipsing »,« Elit »,«, «Sed», «Do», » eiusmod ',' tempor ',' incidint ',' ut ',' labore ',' et ',' dolore ',' magna ',' Aliqua ','.', ","]Contenu de tokenisage d'un fichier
Vous pouvez utiliser l'instruction «avec ouverte» en mode «RB» pour lire directement le contenu d'un fichier puis le tokenize. Le mode «R» en «RB» représente le mode en lecture seule tandis que «B» représente le mode binaire. L'exemple de code ci-dessous ouvre un «échantillon.Fichier txt »et tokenise son contenu en utilisant les méthodes de tokenize et de lecture.
tokenize d'importationVous pouvez également utiliser «Open», une méthode de commodité disponible dans le module Tokenize, puis des méthodes Generate_tokens et Readline pour créer des jetons à partir d'un fichier directement.
tokenize d'importationEn supposant que l'échantillon.Le fichier txt contient le même exemple de chaîne, vous devez obtenir la sortie suivante après avoir exécuté les deux échantillons de code expliqués ci-dessus.
[«Lorem», «Ipsum», «Dolor», «Sit», «Amet», «,« Conseectetur »,« Adipsing »,« Elit »,«, «Sed», «Do», » eiusmod ',' tempor ',' incidint ',' ut ',' labore ',' et ',' dolore ',' magna ',' Aliqua ','.', ","]Conclusion
Le module de tokenize dans Python fournit un moyen utile de tokenize des morceaux de texte contenant des mots séparés dans l'espace. Il crée également une carte des positions de démarrage et de fin des jetons. Si vous souhaitez tokeniser chaque mot d'un texte, la méthode de tokenize est meilleure que la méthode «divisée» car elle prend également en charge les caractères de ponctuation de tokensine / autres symboles et dépente également le type de jeton.