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 ?
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
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())
Compatibilité du tampon : Pour garantir la compatibilité avec les anciennes versions de Python, spécifiez explicitement l'encodage :
outfile.write(plaintext.encode('utf-8'))
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!