TypeError: 'str' Does Not Support the Buffer Interface
Python3 を使用すると、文字列の個別の処理が原因でこのエラーが発生する可能性がありますPython2との比較。この問題を解決するには、文字列をバイトにエンコードする必要があります。
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'))
Python3 では、文字列は Python2 の文字列と同一ではないため、bytes() 関数を使用する必要があります。さらに、「string」や「file」などの変数名は、すでに関数またはモジュールとして定義されているため、避けることを検討してください。
非 ASCII 文字を含む包括的なテキスト圧縮の場合、提供されるコードは UTF-8 エンコーディングを利用して、ポーランド語文字の完全性を確保します。
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)
以上がTypeError を解決する方法: 'str' はテキストを圧縮するときに Python 3 のバッファー インターフェイスをサポートしていませんか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。