2016-06-06 1 views
0

J'ai un dossier qui a des sous-dossiers contenant chacun plusieurs fichiers différents. Je voudrais copier tous les fichiers (pas les sous-répertoires) dans un dossierCopier plusieurs fichiers du sous-dossier dans un dossier

import os 
import shutil 

src = r'C:\TEMP\dir' 
dest = r'C:\TEMP\new' 

src_files = os.listdir(src) 
for file_name in src_files: 
    full_file_name = os.path.join(src, file_name) 
    if (os.path.isfile(full_file_name)): 
     shutil.copy(full_file_name, dest) 

quand je lance le code, il n'y a pas d'erreur, mais aucun fichier est copié soit. Je ne sais pas quel est le problème avec le code.

+0

Je ne pense pas que python a un moyen simple de le faire. Savoir comment "profond" le dossier est très important pour votre solution, mais je pourrais me tromper. – LampPost

+0

@LampPost dans mon cas, la profondeur n'est pas plus de 4. – Omar

Répondre

0

Vous pouvez essayer cette

import os 
import shutil 

src = r'C:\TEMP\dir' 
dest = r'C:\TEMP\new' 

for path, subdirs, files in os.walk(src): 
    for name in files: 
     filename = os.path.join(path, name) 
     shutil.copy2(filename, dest)