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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.