Copiez récursivement les fichiers du répertoire directement sous le répertoire en utilisant Python
introduction
- Lors du traitement récursif de fichiers à partir du répertoire directement sous le répertoire, utilisez les commandes shell car vous utilisez essentiellement l'environnement Linux.
Cependant, lors de la copie récursive de fichiers dans un environnement qui ne peut être utilisé que dans l'environnement Windows, il était très gênant d'utiliser l'invite de commande, je vais donc présenter un exemple de copie à l'aide de Python.
la mise en oeuvre
--Donner le chemin de la source de copie et le chemin de destination de la copie comme arguments de fonction
- Je pense que vous pouvez donner les chemins d'entrée et de sortie comme arguments lors de l'exécution du fichier.
- En tant que structure de fichier, considérez l'exemple suivant
C:/Users/input/
├ 01
├ 01_01.jpg
├ 01_02.jpg
├ 02
├ 02_01.jpg
├ 02_02.jpg
--Une fonction
import os
import glob
import shutil
def copyfiles(input, output):
ifiles = os.listdir(input)
for s in ifiles:
ifiles_all = input+ "/" + s
fs = glob.glob(ifiles_all + "/*")
for f in fs:
fname = f.split("\\")[-1] #nom du fichier
ofullname = output + "/" + fname
shutil.copyfile(f, ofullname)
input = "C:/Users/input"
output = "C:/Users/output"
copyfiles(input, output)