Maison >développement back-end >Tutoriel Python >Comment résoudre « TypeError : un objet de type octets est requis, pas « str » » dans la gestion des fichiers Python 3 ?

Comment résoudre « TypeError : un objet de type octets est requis, pas « str » » dans la gestion des fichiers Python 3 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 16:44:10787parcourir

How to Resolve

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn