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 :

Probleme de recursivité


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Probleme de recursivité
    Cela a surement deja été posté, mais je n'ai rien trouvé sur le forum a ce propos.
    En fait mon probleme est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def recursive(ind1):
    	if arborescence[ind1]:
    		for file in os.listdir(arborescence[ind1]):
    			ifdir = next(arborescence[ind1],file)
    			if os.path.isdir(ifdir):
    				print file
    				print ifdir
    				if ifdir == arborescence[ind1-1]:
    					recursive(ind1-1)
    En gros j'ai un dictionnaire avec la décomposition d'un path et je voudrais les afficher de maniere a ce que ecla aparaisse ainsi :
    -/fichier1
    -/fichier2
    -/dossier1
    --/dossier21
    ---/fichier31
    --/fichier22
    -/dossier2

    le probleme est que lorsque j'apelle la fonction pour aller lire dans le prochain dossier, celle ci stop la boucle pour relancer la fonction mais une fois la recursivité terminée elle ne reprend pas la boucle ou elle en etait. Ce qui fait que cela ne m'affiche pas tout ce qui m'interresse.
    Ya t il un moyen pour avoir une recursivité qui termine ce qu'elle a mis en suspend?
    Ou pour faire du code tres mauvais peut t'on faire des etiquette en python ?

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonjour,

    Je te propose ce code qui devrait fonctionner:
    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
    import os
     
    def recursif(rep):
        l = len(rep.split(os.sep))
        print "-" * l + "/" + rep.split(os.sep)[-1]
        if not os.path.isdir(rep):
            return
        for f in os.listdir(rep):
            fc = os.path.join(rep, f)
            if os.path.isfile(fc):
                print "-" * (l+1) + "/" + f
            elif os.path.isdir(fc):
                recursif(fc)
     
    recursif("D:\\Ma musique")
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Superbe ! C'etait pas tout a fait ca mais j'ai modifier en consequence et cela fonctionne parfaitement!
    Un grand merci a toi !

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Si tu veux explorer un dossier, il y a aussi la fonction os.walk qui est faite pour ça.

Discussions similaires

  1. Probleme de recursivite
    Par grogan dans le forum Langage
    Réponses: 1
    Dernier message: 14/08/2006, 20h27
  2. Probleme de recursivité
    Par lila13 dans le forum Langage
    Réponses: 6
    Dernier message: 05/05/2006, 11h33
  3. [Tableaux] petit probleme de recursiviter
    Par jeff_! dans le forum Langage
    Réponses: 13
    Dernier message: 01/02/2006, 16h50
  4. Probleme de recursivite (lie au TSP) :(
    Par piff62 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 05/02/2005, 11h30
  5. [FLASH MX 2004]-probleme de recursivité.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 10/05/2004, 19h48

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