Problèmes de sous-répertoires
Bonjour,
J'ai écrit le code ci-dessous pour déplacer automatiquement dans les répertoires et sous-répertoires les fichiers ayant le même nom (ou une partie seulement) que le répertoire.
Il fonctionne très bien pour les répertoires étant à la racine mais pas pour les sous-répertoires. Je sèche un peu car je pensais que os.walk traversait l'ensemble de l'arborescence. Si vous voyez d'où vient le bug, je suis preneur. Merci de votre aide.
Code:
1 2 3 4 5 6 7 8
| def moveFiles2Folder():
root_path = lien vers mon répertoire de départ
for (root, dirs, files) in os.walk(root_path):
for dir in dirs :
for file in files :
fileX = os.path.splitext(file)[0]
if fileX in dir :
shutil.copy(os.path.join(root_path,file),os.path.join(root_path, dir)) |
Merci des réspones mais...
Merci de vos réponses. Désolé, je suis un peu lent à la comprenette : j'ai modifié le code d'après vos remarques. Pour la double boucle, je ne vois pas comment m'en passer pour itérer sur les fichiers et les répertoires...Les fichiers sont bien copiés mais uniquement dans les répertoires se trouvant à la racine, pas dans les sous répertoires... Et quand je fais des print pour m'assurer que mes chemins sont OK, pour moi ils le sont...
Code:
1 2 3 4 5 6 7
| def moveFiles2Folder(root_path):
for (root, dirs, files) in os.walk(root_path):
for dir in dirs :
for file in files :
fileX = os.path.splitext(file)[0]
if fileX in dir:
shutil.copy(os.path.join(root,file),os.path.join(root, dir)) |