IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Déplacer des fichiers avec shutil.move


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 5
    Par défaut 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 : 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.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,
    [Errno 1] Operation not permitted? Il est peut probable que Python remonte directement cette erreur: ca vient plutot de l'OS et des file-system.

    Que donne la même opération avec cp sous bash?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Déplacer des fichiers Excel sous Windows avec SAS
    Par Antoun dans le forum Outils BI
    Réponses: 6
    Dernier message: 19/11/2009, 17h05
  2. trier des fichiers avec un tableau flexgrid
    Par digger dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/12/2005, 15h20
  3. Comment déplacer des fichiers sous perl ?
    Par Ickou dans le forum Langage
    Réponses: 6
    Dernier message: 10/11/2005, 12h17
  4. Transférer des fichiers avec un câble réseau
    Par denis finch dans le forum Développement
    Réponses: 5
    Dernier message: 08/11/2005, 16h08
  5. [ZIP]besoin de lire des fichiers avec l'extension tar.gz
    Par mathieublanc13 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/05/2004, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo