Maison > développement back-end > Tutoriel Python > Comment résoudre l'erreur TypeError : \'str\' ne prend pas en charge l'interface tampon lors de l'utilisation de gzip.open en Python ?

Comment résoudre l'erreur TypeError : \'str\' ne prend pas en charge l'interface tampon lors de l'utilisation de gzip.open en Python ?

Patricia Arquette
Libérer: 2024-12-20 11:32:10
original
413 Les gens l'ont consulté

How to Resolve the TypeError: 'str' does not support the buffer interface when using gzip.open in Python?

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

Question :

Quand en essayant de compresser une chaîne à l'aide de la fonction gzip.open de Python, une erreur est lancé :

TypeError: 'str' does not support the buffer interface
Copier après la connexion

Comment ce problème peut-il être résolu ?

Réponse :

Mise à niveau de Python 3 : En Python 3, les chaînes sont des objets Unicode et n'ont pas d'interface tampon. Pour résoudre le problème, la chaîne doit être convertie en octets avant d'écrire dans le fichier de sortie :

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

Compatibilité du tampon : Pour garantir la compatibilité avec les anciennes versions de Python, spécifiez explicitement l'encodage :

outfile.write(plaintext.encode('utf-8'))
Copier après la connexion

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