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 :

Comparer deux arborescences (+ fichiers)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Par défaut Comparer deux arborescences (+ fichiers)
    Bonjour à tous,

    j'essaye désespérément deux parcourir deux arborescence pour par la suite comparer les fichiers des deux arbo.

    Par exemple j'ai cet arbo :

    c
    --Dos1
    ---Dos11
    -----file1
    -----file2
    ---Dos12
    -----file1

    Et également l'arbo suivante

    d
    --Dos1
    ---Dos11
    -----file1
    -----file2
    ---Dos12
    -----file1

    J'aimerai pouvoir parcourir les deux arbos parallèlement et retourner une erreur si un dossier ou un fichier manque dans l'arbo cible (le 2eme dans mon post).

    Je vous remercie pour votre aide. Bon après midi.

    Cordialement,

    Leniouns

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,

    vous pouvez utiliser dircmp dans le module filecmp. Des exemples d'utilisations sont par exemple ici

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

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Par défaut
    Merci de ton aide.

    Je voulais savoir tout de même si ce module permettait de comparer tous les fichiers dans 2 répertoires et sous répertoires.
    Suivant mon exemple plus haut, est-ce que le module me permettra de comparer tous les fichiers entre eux ?

    Merci de votre aide à tous

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,

    Qu'est ce qui dans la documentation ou les exemples fournis permettent d'en douter? Avez vous essayé d'adapter un des exemples à votre cas? Quels problèmes rencontrez vous? Où est votre code?

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

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Par défaut
    Voici mon code :

    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
    20
    21
    def cmpDir(self, directoryLocal, directoryNas): 
            '''
            Compare récursivemment les fichiers présents dans les différents répertoire
            '''
            # Determine the items that exist in both directories
            d1_contents = set(os.listdir(directoryLocal))
            d2_contents = set(os.listdir(directoryNas))
            common = list(d1_contents & d2_contents)
            common_files = [ f 
                    for f in common 
                    if os.path.isfile(os.path.join(directoryLocal, f))
                    ]
            print("Common files:"), common_files
     
            # Compare the directories
            match, mismatch, errors = filecmp.cmpfiles(directoryLocal, 
                                               directoryNas, 
                                               common_files)
            print('Match:'), match
            print('Mismatch:'), mismatch
            print('Errors:'), errors

    Avec les répertoires comme ceux de mon premier post. Cependant mes listes sont vides (common files, match etc.)

    Merci de ton aide

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,

    Je ne vois pas d'utilisation de "dircmp" dans ce code là.

    Pourquoi ne pas simplement commencer par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filecmp.dircmp(a, b).report_full_closure()
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/04/2013, 10h39
  2. [Bat] comparer deux arborescences d'un NAS
    Par Josh99 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 24/01/2012, 23h04
  3. Comparer deux arborescences
    Par kalume dans le forum Langage
    Réponses: 1
    Dernier message: 09/08/2010, 15h08
  4. diff : comparer deux arborescences
    Par jsjohn dans le forum Administration système
    Réponses: 2
    Dernier message: 02/01/2010, 17h33
  5. Réponses: 5
    Dernier message: 09/01/2005, 19h54

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