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)
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!