TypeError: 'str' 不支援緩衝區介面
使用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() 函數。此外,請考慮避免使用“字串”或“檔案”等變數名稱,因為它們已經定義為函數或模組。
對於全面的文本壓縮,包括非 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中文網其他相關文章!