Copier des fichiers multiples en Python
Comment faire pour copier tous les fichiers présents dans un répertoire vers un autre répertoire à l'aide de Python.
J'ai le chemin d'accès source et le chemin de destination en tant que chaîne de caractères.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser os.listdir() pour obtenir les fichiers dans le répertoire source, os.chemin d'accès.isfile() pour voir si elles sont régulières des fichiers (y compris les liens symboliques sur les systèmes *nix), et shutil.copie effectuer la copie.
Le code suivant ne copie que les fichiers réguliers à partir de la source de répertoire dans le répertoire de destination (je suis en supposant que vous ne voulez pas de sous-répertoires copiés).
dest
est le nom du répertoire.shutil.copy(src, dst)
"copie le fichier src pour le fichier ou le répertoire de l'heure d'été.... Si l'heure d'été spécifie un répertoire, le fichier sera copié dans l'heure d'été en utilisant le nom de fichier de base de la src."Si vous ne souhaitez pas copier l'ensemble de l'arbre (avec des sous-dossiers, etc), l'utilisation ou la
glob.glob("path/to/dir/*.*")
pour obtenir une liste de tous les noms de fichiers, en boucle sur la liste et d'utilisershutil.copy
pour copier chaque fichier.Regarder shutil dans le Python docs, plus précisément le copytree commande.
Voici un autre exemple d'une 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.
EDIT: Si vous le pouvez, certainement juste utiliser
shutil.copytree(src, dest)
. Cela exige que le dossier de destination n'existe pas déjà bien. Si vous avez besoin de copier des fichiers dans un dossier existant, la méthode ci-dessus fonctionne bien!