1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| def copyFile(self, listLocal, nas, local):
#listLocal étant la liste des fichiers/répertoires présents ou différents dans c: et non dans d:
#local est le répertoire racine (c:\pat\rep) présent dans c:
#nas est le répertoire racine (c:\rep) présent dans d:
'''
Fonction copiant les fichiers locaux vers les dossier NAS
'''
#Pour tous les fichiers présents en local et non présent dans les NAS
for file in listLocal:
#On récupère le chemin du fichier sans le lecteur
pathFile = (os.path.splitdrive(file))[1]
#On récupère la racine du local sans le lecteur
start = (os.path.splitdrive(local))[1]
#On enlève la racine du local au chemin du fichier
path = os.path.relpath(pathFile, start)
#On concactène le chemin du fichier (sans la racine du local) à la racine de la NAS
pathFileNas = nas + "\\" + path
#Si le chemin n'existe pas dans la NAS et que le fichier en question est un répertoire
if (not os.path.exists(pathFileNas) and os.path.isdir(file)):
logging.info("Copie du dossier " + file + " vers " + pathFileNas)
shutil.copytree(file, pathFileNas)
else:
logging.info("Copie du fichier " + file + " vers " + pathFileNas)
shutil.copy(file,pathFileNas) |
Partager