Bonjour,

Avec le code suivant, j'arrive à extraire certaines archives zip, mais d'autres ne fonctionnent pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
import os
import zipfile
 
os.chdir(C:/Users/Admin/Downloads)
 
mon_zip=zipfile.ZipFile('C:/Users/Admin/Downloads/NG659C1_treatment_resource.zip')
mon_zip.extractall()
Voici l'erreur que j'obtiens avec certaines archives
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Python27\lib\zipfile.py", line 1040, in extractall
    self.extract(zipinfo, path, pwd)
  File "C:\Python27\lib\zipfile.py", line 1028, in extract
    return self._extract_member(member, path, pwd)
  File "C:\Python27\lib\zipfile.py", line 1083, in _extract_member
    file(targetpath, "wb") as target:
IOError: [Errno 2] No such file or directory: 'C:\\Users\\Admin\\Downloads\\NG659C1_11_09_2018_09_16_47_treatment_resource\\A350_TRT_047\\CRDC_A01'
En fait dans le dossier Downloads, le dossier NG659C1_11_09_2018_09_16_47_treatment_resource est créé, mais le dossier A350_TRT_047 n'est pas créé, alors qu'il le devrait. C'est un fichier qui créé à la place. Donc forcément lorsque il essait d'y mettre le dossier CRDC_A01, il ne peut pas.

Cette archive n'est pas corrompue, mais elle doit avoir des propriétés spécifiques qui font que le module zipfile de python échoue. Si j'extracte avec 7zip ou Winrar. il n'y pas de problème.
Mon code python est correct car si je re-zip avec 7zip ou Winrar le résultat de l'extraction, mon code python arrive à décompresser correctement l'archive.