TypeError : 'str' ne prend pas en charge l'interface tampon
En utilisant Python3, vous pouvez rencontrer cette erreur en raison de la gestion distincte des chaînes par rapport à Python2. Pour résoudre ce problème, vous devez encoder la chaîne en octets.
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(bytes(plaintext, 'UTF-8'))
En Python3, les chaînes ne sont pas identiques à celles de Python2, ce qui nécessite l'utilisation de la fonction bytes(). De plus, pensez à éviter les noms de variables tels que « chaîne » ou « fichier », car ils sont déjà définis en tant que fonctions ou modules.
Pour une compression de texte complète, y compris les caractères non-ASCII, le code fourni utilise l'encodage UTF-8 pour assurer l'intégrité des lettres polonaises.
plaintext = 'Polish text: ąćęłńóśźżĄĆĘŁŃÓŚŹŻ' filename = 'foo.gz' with gzip.open(filename, 'wb') as outfile: outfile.write(bytes(plaintext, 'UTF-8')) with gzip.open(filename, 'r') as infile: outfile_content = infile.read().decode('UTF-8') print(outfile_content)
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!