Gestion des fichiers Python 3.5 : "TypeError : un objet de type octets est requis, pas 'str'" Résolu
Lorsque vous travaillez avec un fichier contenu en Python 3, il est essentiel de comprendre la différence entre les octets et les chaînes. Dans Python 3, les fichiers sont ouverts en mode binaire par défaut et le contenu est renvoyé sous forme d'objets octets.
Pour corriger l'erreur "TypeError : un objet de type octets est requis, pas 'str'", lors du traitement avec le contenu d'un fichier, il existe deux solutions principales :
1. Ouvrir le fichier en tant que texte
with open(fname, 'r') as f: lines = [x.strip() for x in f.readlines()]
Cette méthode ouvre le fichier en mode texte, garantissant que les données sont renvoyées sous forme de chaînes.
2. Utiliser des objets Bytes
S'il est nécessaire de travailler avec des objets bytes, le code peut être modifié pour utiliser des octets au lieu de chaînes :
if b'some-pattern' in tmp: continue
Il est important de noter que lorsque en travaillant avec des objets bytes, les opérateurs de comparaison tels que 'in' et '==' nécessitent l'utilisation d'octets des deux côtés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!