Python 获取gzip.BadGzipFile:解压缩收到的消息时不是gzip文件(b";b'";)
我有一个名为Python 获取gzip.BadGzipFile:解压缩收到的消息时不是gzip文件(b";b'";),python,amazon-web-services,compression,gzip,amazon-sqs,Python,Amazon Web Services,Compression,Gzip,Amazon Sqs,我有一个名为75842.html的html文件,我正在通过以下操作使用gzip压缩该文件: with open('75842.html', 'rb') as f: body_compressed=gzip.compress(f.read()) body\u compressed是一个对象 我无法通过SQS发送字节,消息正文需要是字符串。因此,我在发送文件时定义了MessageBody=str(body\u compressed) 在另一台服务器上阅读邮件时,我希望使用以下方式解压缩并保
75842.html
的html文件,我正在通过以下操作使用gzip压缩该文件:
with open('75842.html', 'rb') as f:
body_compressed=gzip.compress(f.read())
body\u compressed
是一个
对象
我无法通过SQS发送字节,消息正文需要是字符串。因此,我在发送文件时定义了MessageBody=str(body\u compressed)
在另一台服务器上阅读邮件时,我希望使用以下方式解压缩并保存邮件:
with open('75842_decompressed.html', 'w') as f:
f.write(gzip.decompress(str.encode(body)))
然后我得到错误消息gzip.badgzip文件:不是gzip文件(b“b')
。可能是因为文件以b'开头。然而,我不确定如何解决它。非常感谢您的帮助。使用str()
是个糟糕的主意。结果是数据的大小增加了三倍,消除了压缩带来的好处!您是否查看了str()前后的长度
对您可以发送的数据有什么限制?如果您只能发送可打印字符,则可以使用,它只将数据扩展几十%,而不是其中的一个因子