我有一个由压缩内容和 32 字节标头组成的文件。标头包含时间戳、压缩大小和未压缩大小等信息。
该文件本身约为 490mb,标题表明未压缩大小接近 2.7gb(显然不正确,因为它还认为压缩大小为 752mb)。
我已经剥离了标头并生成了压缩的有效负载,并且可以使用 zlib 解压缩它。
问题是它只解压缩了 19kb,比 490mb 小得多(应该是最低限度,但我预计未压缩大约 700mb)。
我的代码如下:
import zlib
def consume (inputFile):
content = inputFile.read()
print "Attempting to process " + str(len(content)) + " bytes..."
outfile = open('output.xml', 'w')
inputFile = zlib.decompress(content)
print "Attempting to write " + str(len(inputFile)) + " bytes..."
outfile.write(inputFile)
outfile.close()
infile = open('payload', 'rb')
consume(infile)
infile.close()
运行时,程序输出:
正在尝试处理 489987232 字节...正在尝试写入 18602 字节...
我尝试使用zlib.decompressionobj()
,尽管这会产生不正确的标题警告。zlib.decompress()
工作正常并生成我期望的解压缩 XML ......只是它太少了。
非常感谢任何指针或建议!