Je souhaite copier des dossiers et des fichiers d'un chemin vers un autre chemin. par exemple, je veux copier le dossier (appelé dossier1) qui a d'autres sous-dossiers et certains fichiers à l'intérieur d'un autre dossier (dst). Dans mon programme, à la première, je veux vérifier s'il y a un dossier nommé dossier1 dans le dossier de destination et si ce n'est pas le cas, créez un dossier avec le nom du dossier1, puis copiez le contenu du dossier1 vers la cible. En outre, nous avons peut-être le dossier 1 dans le chemin cible, mais il y a quelques sous-dossiers de dossier1 qui n'existent pas dans la cible et nous devons utiliser une fonction récursive pour cela. Voici ma fonction récursive à cet effet:Copier le dossier, les sous-dossiers et les fichiers d'un chemin vers un autre chemin en python via une fonction récursive
def CopyFol_Subfolders(src, src_folder, dst):
Dir = next(os.walk(src))[1]
sub_files = ""
sub_files = next(os.walk(src))[2]
if not os.path.exists(dst + "/" + src_folder):
os.makedirs(dst + "/" + src_folder)
shutil.copy2(src + "/" + src_folder, dst + "/" + src_folder)
elif os.path.exists(src + "/" + src_folder) and is_exist_file(src+"/"+src_folder,dst+"/"+src_folder,sub_files):
copy_files(sub_files, src+"/"+src_folder, dst+"/"+src_folder)
else:
subfolders = ""
subfolders = next(os.walk(src + "/" + src_folder+"/"))[1]
for folder in subfolders:
CopyFol_Subfolders(src + "/" + src_folder, folder, dst + "/" + src_folder)
la fonction copy_files
copie les fichiers src +"/"+src_folder
-dst+"/"+src_folder
Je confus et cela ne fonctionne pas. J'ai eu différentes erreurs dans shutil.copy2
qui me disent x is not a file
ou x is a directory
. Pouvez-vous s'il vous plaît quelqu'un vérifier la logique de ma fonction récursive et laissez-moi savoir quel est ce problème?
ce genre de réponse suites dans le commentaire. – Gahan
@Gahan édité. Merci du conseil. – frankyjuang
c'est une réponse complète et m'a aidé tellement mcuh. Merci @frankyjuang – Stateless