Vous devez fournir une chaaîne à la bibliothèque re
si vous souhaitez manipuler un objet à l’aide d’un modèle de chaaîne. Si vous essayez d’utiliser un modèle de chaaîne sur un objet qui est stocké à l’aide des "octets‚" type de données, vous rencontrerez la "TypeError : impossible d’utiliser un modèle de chaaîne sur un objet de type octets‚" error.
Ce guide explique ce que signifie cette erreur et pourquoi vous pouvez la rencontrer. Nous allons vous présenter un exemple de cette erreur afin que vous puissiez voir les étapes à suivre pour résoudre l’erreur.
TypeError : impossible d’utiliser un modèle de chaaîne sur un objet de type octets
Les objets Octets contiennent une séquence d’octets simples. Ils sont immuables, comme les chaaînes, ce qui signifie qu’ils ne peuvent pas être modifiés. Un objet bytes est généralement renvoyé lorsque vous lisez un fichier binaire ou lorsque vous utilisez une bibliothèque telle que "request‚" pour récupérer des données d’un site Web.
Lorsque vous utilisez la bibliothèque re
, vous devez travailler soit avec des octets, soit avec des objets. Vous ne pouvez pas spécifier de modèles de chaaîne pour un objet d’octets, et vice versa.
Si vous travaillez avec des données d’octets, votre programme doit spécifier un modèle d’expression régulière en octets. Si vous utilisez des expressions régulières avec des chaaînes, fournissez un modèle d’expression régulière basé sur des chaaînes.
Un exemple de scénario
Nous allons écrire un programme qui récupère le titre d’une page Web. Nous travaillons avec le site Python.Engineering pour ce tutoriel.
Pour commencer, importe les deux bibliothèques dont nous aurons besoin pour construire notre programme : urllib et re.
La bibliothèque urllib
nous permet de faire des requêtes Web et la bibliothèque re
nous donne la possibilité d’utiliser regex dans notre programme.
81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.
Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.
Ensuite, nous faisons un demande Web à la page d’accueil de Python.Engineering :
Le programme récupère le contenu de la page d’accueil de Python.Engineering. Ces données sont lues à l’aide de la méthode read()
qui fait partie de la méthode urlopen()
. Nous stockons ces données dans la "res‚" variable.