我有一个由压缩内容加上一个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,我希望......只是过于几乎没有这种。
任何指针或建议,非常感谢!