"IOError: [Errno 2] No such file or directory" a l'extraction d'une archive zip
Bonjour,
Avec le code suivant, j'arrive à extraire certaines archives zip, mais d'autres ne fonctionnent pas.
Code:
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:
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.