TypeError: 'str' はバッファ インターフェイスをサポートしていません
質問:
の場合Python の gzip.open 関数を使用して文字列を圧縮しようとすると、エラーが発生します。スロー:
TypeError: 'str' does not support the buffer interface
この問題はどのように解決できますか?
回答:
Python 3 のアップグレード: Python で3、文字列は Unicode オブジェクトであり、バッファ インターフェイスを持ちません。この問題を解決するには、出力ファイルに書き込む前に文字列をバイトに変換する必要があります:
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())
バッファ互換性: 古いバージョンの Python との互換性を確保するには、エンコーディングを明示的に指定します。
outfile.write(plaintext.encode('utf-8'))
以上がTypeError を解決する方法: Python で gzip.open を使用する場合、\'str\' はバッファ インターフェイスをサポートしていませんか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。