[解決済み] TypeError: 'str' はバッファのインタフェースをサポートしていません。
2022-02-03 08:46:37
質問
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)
上記のPythonコードは、私に以下のエラーを与えています。
Traceback (most recent call last):
File "C:/Users/Ankur Gupta/Desktop/Python_works/gzip_work1.py", line 33, in <module>
compress_string()
File "C:/Users/Ankur Gupta/Desktop/Python_works/gzip_work1.py", line 15, in compress_string
outfile.write(plaintext)
File "C:\Python32\lib\gzip.py", line 312, in write
self.crc = zlib.crc32(data, self.crc) & 0xffffffff
TypeError: 'str' does not support the buffer interface
解決方法は?
Python3xを使用している場合
string
は Python 2.x と同じ型ではないので、byte にキャストする (エンコードする) 必要があります。
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'))
また、以下のような変数名は使用しないでください。
string
または
file
は、モジュール名や関数名である。
編集部 @Tom
はい、非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)
関連
-
Python カメの描画コマンドとその例
-
PythonによるExcelファイルの一括操作の説明
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] python: 'str' と 'tuple' オブジェクトの連結ができない (うまくいくはず!)
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み] Rust の `String` と `str` の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python Decorator 練習問題
-
Python入門 openを使ったファイルの読み書きの方法
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?