Déplacer des fichiers avec shutil.move
Bonjour,
j'ai sur un serveur NAS :
- des fichiers / répertoires contenant des fichiers que je souhaite déplace dans des répertoires "cibles". Tout ça est localisé dans un dossier "NZB".
- des répertoires "cibles", localisés dans un dossier "Target"
Il existe une correspondance 1-1 entre les répertoires NZB et les répertoires Target.
J'ai stocké ces correspondances dans 2 listes.
Le code ci-dessous génère une erreur que je ne m'explique pas : "not permitted"
NB : c'est volontairement verbeux en ce qui concerne les noms des fichiers et répertoires
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import shutil
dir_NZB = ['/mnt/NASSAU_NZB/dst/Movies/Films_Adultes', '/mnt/NASSAU_NZB/dst/Movies/Films_Publics']
dir_Target = ['/media/NASSAU_media/_Cinema/_Adultes/Films', '/media/NASSAU_media/_Cinema/Tous publics/Films']
i=0
while i < len(dir_NZB):
print i, dir_NZB[i]
if len(dir_NZB[i]) > 0:
for elem in os.listdir(dir_NZB[i]):
print elem
print ' --> will be moved to :' + dir_Target[i]
src_file = os.path.join(dir_NZB[i], elem)
dst_file = os.path.join(dir_Target[i], elem)
print 'chemin complet : ' + src_file
shutil.move(src_file, dst_file)
i = i+1 |
Voici le message d'erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
0 /mnt/NASSAU_NZB/dst/Movies/Films_Adultes
Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front
--> will be moved to :/media/NASSAU_media/_Cinema/_Adultes/Films
chemin complet : /mnt/NASSAU_NZB/dst/Movies/Films_Adultes/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front
Traceback (most recent call last):
File "nzb-move.py", line 17, in <module>
shutil.move(src_file, dst_file)
File "/usr/lib/python2.7/shutil.py", line 298, in move
copytree(src, real_dst, symlinks=True)
File "/usr/lib/python2.7/shutil.py", line 208, in copytree
raise Error, errors
shutil.Error: [('/mnt/NASSAU_NZB/dst/Movies/Films_Adultes/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front/Front.jpg', '/media/NASSAU_media/_Cinema/_Adultes/Films/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front/Front.jpg', "[Errno 1] Operation not permitted: '/media/NASSAU_media/_Cinema/_Adultes/Films/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front/Front.jpg'"), '/mnt/NASSAU_NZB/dst/Movies/Films_Adultes/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front', '/media/NASSAU_media/_Cinema/_Adultes/Films/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front', "[Errno 1] Operation not permitted: '/media/NASSAU_media/_Cinema/_Adultes/Films/Dub_Syndicate_Classic_Selection_Volume_3_1994_320kbps_Front'"] |
Les répertoires contenus dans les 2 listes sont localisés sur un NAS et vus par un RaspberryPi (les points de montage sont dans la fstab) qui les peuple.
Voici la fstab
Code:
1 2 3 4 5 6
|
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
//NASSAU/media/BitTorrent/NZB /mnt/NASSAU_NZB cifs credentials=/home/pi/NAS/.smbcredentials,iocharset=utf8 0 0
//NASSAU/media /media/NASSAU_media cifs credentials=/home/pi/NAS/.smbcredentials,iocharset=utf8 0 0 |
Merci d'avance pour votre aide.