Voici un autre exemple de fonction de copie récursive qui vous permet de copier le contenu du répertoire (y compris les sous-répertoires) un fichier à la fois, que j'ai utilisé pour résoudre ce problème.
import os
import shutil
def recursive_copy(src, dest):
"""
Copy each file from src dir to dest dir, including sub-directories.
"""
for item in os.listdir(src):
file_path = os.path.join(src, item)
# if item is a file, copy it
if os.path.isfile(file_path):
shutil.copy(file_path, dest)
# else if item is a folder, recurse
elif os.path.isdir(file_path):
new_dest = os.path.join(dest, item)
os.mkdir(new_dest)
recursive_copy(file_path, new_dest)
EDIT : Si vous le pouvez, utilisez simplement shutil.copytree(src, dest)
. Il faut cependant que le dossier de destination n'existe pas déjà. Si vous devez copier des fichiers dans un dossier existant, la méthode ci-dessus fonctionne bien !
2 votes
Comment copier un répertoire entier de fichiers dans un répertoire existant en utilisant Python ?