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中文网其他相关文章!