Maison > développement back-end > Tutoriel Python > Comment corriger \'TypeError : \'str\' ne prend pas en charge l'interface tampon\' dans gzip.open() de Python 3 ?

Comment corriger \'TypeError : \'str\' ne prend pas en charge l'interface tampon\' dans gzip.open() de Python 3 ?

Susan Sarandon
Libérer: 2024-11-26 02:40:11
original
1049 Les gens l'ont consulté

How to Fix

TypeError : 'str' ne prend pas en charge l'interface tampon

Lorsque vous essayez d'utiliser la fonction gzip.open() avec Python 3, une erreur peut survenir : "TypeError : 'str' ne prend pas en charge l'interface tampon." Cette erreur provient de la différence entre la gestion des chaînes dans Python 3 et ses prédécesseurs.

Dans Python 3, les objets chaîne ne sont pas directement compatibles avec l'interface tampon, ce qui oblige à les convertir en octets avant de les écrire dans un fichier compressé. Cela peut être accompli en encodant la chaîne avec un encodage approprié, tel que UTF-8 :

plaintext = input("Please enter the text you want to compress").encode("utf-8")
filename = input("Please enter the desired filename")
with gzip.open(filename + ".gz", "wb") as outfile:
    outfile.write(plaintext)
Copier après la connexion

De plus, il est recommandé d'éviter d'utiliser des mots-clés tels que "string" et "file" comme noms de variables, car ils entrent en conflit avec les modules et fonctions intégré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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal