I'm trying to inflate a zlib
compressed file using Python with this code:
import zlib
data = open("3B42.110531.21.6A.HDF.Z", 'rb').read()
inflated = zlib.decompress(data)
f = open('3B42.110531.21.6A.HDF', 'wb')
f.write(inflated)
f.close()
I've already done several attempts with different options:
- Adding a second parameter to
zlib.decompress (zlib.decompress(data,-15))
- Skipping the first two bytes
zlib.decompress(data[2:-4]) / zlib.decompress(data[2:] /.. )
- Basecoding to 64 bits.
Anyway, I keep failing with this message:
Traceback (most recent call last):
File "C:\opt\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 325, in RunScript
exec codeObject in __main__.__dict__
File "E:\Tesis\data\uncompress.py", line 6, in <module>
inflated = zlib.decompress(data)
error: Error -3 while decompressing data: incorrect header check
The only difference is using a negative parameter in zlib.decompress
: invalid block type.
import zlib
data = open("3B42.110531.21.6A.HDF.Z", 'rb').read()
inflated = zlib.decompress(data,-15)
f = open('3B42.110531.21.6A.HDF', 'wb')
f.write(inflated)
f.close()
Traceback (most recent call last):
File "C:\opt\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 325, in RunScript
exec codeObject in __main__.__dict__
File "E:\Tesis\data\uncompress.py", line 6, in <module>
inflated = zlib.decompress(data,-15)
error: Error -3 while decompressing data: invalid block type
I'm sure that the file is not corrupted, I can open it from WinRAR. (environment: Windows x64, Python 2.5, I guess that the file is in a Unix machine..binary downloaded)
I've already read the following links