Je débute en python et je cherche à décompressé des fichiers '.Z', je me casse malheureusement les dent sur l'utilisation de zlib.

J'ai écris ce bout de code qui compresse et décompresse un fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
import zlib
 
#testContent est un banal fichier text
with open('testContent', 'r') as f:
    file_content = f.read()
    compress = zlib.compress(file_content)
    with open('testPy.Z', 'wb') as fZ:
        fZ.write(compress)
 
with open('testPy.Z', 'rb') as f:
    file_content = f.read()
    decompressed_content = zlib.decompress(file_content)
    print decompressed_content
Mais le fichier .Z produit est mal formé : impossible à décompressé en ligne de commande avec 'uncompress.real testPy.Z' => 'testPy.Z: not in compressed format'

Deplus si je tente de décompresse un fichier crée grâce à 'compress -v testContent' avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
with open('testContent.Z', 'rb') as f: # Notice that I open this in binary mode
    file_content = f.read() # Read the compressed binary data
    decompressed_content = zlib.decompress(file_content) # Decompress
    print decompressed_content
l'exception suivante est levée :
"zlib.error: Error -3 while decompressing data: incorrect header check"