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 arbo en ignorant certains dossiers


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 arbo en ignorant certains dossiers
    Bonjour à tous,

    Suite à mon problème initial "Comparer 2 arbo" j'ai un nouveau problème. J'aimerais comparer les arborescence mais en ignorant certains dossiers.

    Prenons cet exemple :

    dos1
    ---- 2010
    --------- file
    --------- file
    ---- 2011
    --------- file
    --------- file
    ---- 2012
    --------- file
    --------- file

    dos2
    ---- 2010
    --------- file
    --------- file
    ---- 2011
    --------- file
    --------- file
    ---- 2012
    --------- file
    --------- file
    En complétant mon code initial (présent dans le topic cité précédemment) j'aimerai pouvoir comparer seulement les dossiers 2011 et 2012. Mais je ne vois vraiment pas comment faire

    Je vous remercie pour votre aide

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

    Déjà il faudrait savoir si vous voulez comparez:
    - dos1/2011 avec dos2/2011 et dos1/2012 avec dos2/2012 ou
    - dos1 et dos2 en excluant le s/répertoire 2010.
    Puis définir comment passer cela en paramètre à ce que vous avez déjà.
    Enfin faire le code ad hoc.
    - 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
    Avec 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    def _report(ctx): 
     
        #Si les fichier s ne sont présents que sur le NAS
        logging.info(ctx.left)
        if ctx.right_only:
            ctx.right_only.sort()
            #On ajoute le fichier à la liste
            for file in ctx.right_only:
                _right.append(str(ctx.right) + "\\" + file)
     
        #Pour tous les fichiers présents seulement sur le local ou bien qui diffèrent
        #On ajout le fichier à la liste 
        for name in ctx.left_only + ctx.diff_files:
               _left.append(os.path.join(ctx.left, name))
     
     
    def _report_full(ctx):
        _report(ctx)
        for sd in ctx.subdirs.values():
            _report_full(sd)
     
     
    def report_full(a, b):
        '''
        Fonction qui retourne les fichiers qui diffèrent entre deux répertoires
        '''
        global _left, _right
        _left = []
        _right = []
        _report_full(filecmp.dircmp(a, b))
        return _left, _right
    Ca compare les 2 répertoires entre eux. Maintenant j'aimerai que ça compare les 2 répertoires mais sans comparer les dossier 2010.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Ca compare les 2 répertoires entre eux. Maintenant j'aimerai que ça compare les 2 répertoires mais sans comparer les dossier 2010.
    Certes! Mais qu'allez vous indiquer à "report_full" pour qu'il comprenne cela?
    - 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
    Justement aucune idée... Il faudrait peut être que je repense moi même tout un algo

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Justement aucune idée... Il faudrait peut être que je repense moi même tout un algo
    Pour l'instant, il s'agit de définir une interface, i.e. comment allez vous dire ce que vous voulez à "report_full". Tant que cela n'a pas été fait, penser "algo" est prématuré...


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

Discussions similaires

  1. [OL-2010] Comparer deux dossiers de contacts Outlook et en retirer
    Par virokannas.ahti dans le forum Outlook
    Réponses: 2
    Dernier message: 01/10/2014, 12h35
  2. Comparer deux dates en ignorant l'heure
    Par Romz_Java dans le forum Général Java
    Réponses: 14
    Dernier message: 02/04/2013, 11h19
  3. comparer deux dossier par le nom des fichiers
    Par nclsbiz dans le forum Windows 7
    Réponses: 3
    Dernier message: 25/11/2011, 11h09
  4. Créer un patch en comparant deux dossiers
    Par mamelouk dans le forum Windows
    Réponses: 0
    Dernier message: 26/10/2010, 12h13
  5. Comparer deux dossiers avec sauvegarde
    Par Doo89 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 16/02/2009, 13h38

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