J'essaie de décompresser & copier des fichiers dans quelques sous-répertoires vers un répertoire de destination. Voici mon code.comment copier et décompresser des fichiers dans le répertoire en python
import zipfile,fnmatch,os
rootPath = r"C:\\Temp\\Test\\source"
pattern = '*.zip'
for root, dirs, files in os.walk(rootPath):
for filename in fnmatch.filter(files, pattern):
zip_ref = zipfile.ZipFile(os.path.join(root, filename))
zip_ref.extractall(os.path.join("C:\\Temp\\Test\\dest"))
Comme vous pouvez le voir, je l'ai tous les fichiers ouvert la fermeture éclair dans le répertoire source et les copier dans le répertoire dest (ination). Le résultat final attendu devrait être décompressé & copiés les fichiers TXT dans le répertoire dest. (Seulement txt fichiers, no directories)
Mon code a bien fonctionné jusqu'à ce que je trouve la structure du répertoire source (s'il vous plaît se référer au commentaire ci-dessous)
La plupart des sous-répertoires dans le répertoire source ressemblent à [subdir1] et fonctionnent donc parfaitement avec mon code. Mais il y a quelques exceptions comme [subdir2] où le fichier zip contient non seulement un fichier txt mais un répertoire le contenant ... Voici à quoi ressemble le répertoire dest avec le code actuel.
+--- [dest]
|
+--- [subdir2]
| |
| +--- file2.txt
|
+--- file1.txt
|
Toute idée de faire il n'y a que décompressé & copiés les fichiers TXT dans le répertoire dest? J'ai d'abord envisagé de copier les fichiers zip, puis de les décompresser dans le répertoire dest, mais je n'ai pas encore trouvé de solution .... Toute aide serait appréciée!
J'ai essayé avec votre suggestion, mais le résultat semble toujours le même :( – Sophia
rejoindre 1 partie de chemin donne la même partie du chemin. Pas très clair, mais les deux lignes font la même chose. –
je pense qu'il est bc le sous-dossier lui-même (contenant un fichier txt) a été dézippé ... – Sophia