ホームページ > バックエンド開発 > Python チュートリアル > TypeError を解決する方法: Python で gzip.open を使用する場合、\'str\' はバッファ インターフェイスをサポートしていませんか?

TypeError を解決する方法: Python で gzip.open を使用する場合、\'str\' はバッファ インターフェイスをサポートしていませんか?

Patricia Arquette
リリース: 2024-12-20 11:32:10
オリジナル
416 人が閲覧しました

How to Resolve the TypeError: 'str' does not support the buffer interface when using gzip.open in Python?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート