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 boucle For ignoré


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Par défaut Probleme boucle For ignoré
    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
     
    tree = etree.parse('taddm.xml')
    root = tree.getroot()
     
    address=input("Entrez Adresse IP :")
    print("hello")
     
    for ip in tree.xpath('./VipFunction/vips/displayName[text()="' + address + '"]'):
        node=ip.getparent()
        for node in root.findall('vips/virtualServices/realServerGroup/realServers'):
            print("Pool Name :",node.find("realServerGroupName").text,
                  "\n Real Ip :", node.find("displayName").text,
                  "\n Real Port :", node.find("realPort").text)
     
     
     
    print("test",address)
    Bonjour a tous,

    J'ai écrit un script (extrait de celui ci juste au dessus) qui permet à un utilisateur d'entrer une adresse IP, et de la comparer a un fichier XML qui sera parser, et qui contient des adresse IP ainsi que d’autre info (port du serveurs, nom etc…)
    Mais je ne sais pas pourquoi, quand je lance le script, l'exécution est très longue (5-6min) et la boucle for est ignorée. Je veux dire par la que je peux bien entrer quelque chose en entrée, mais apres rien ne se passe, aucune erreur n’est pourtant identifié. J'ai donc mis des prints autour de ma boucle for pour tester le fonctionnement de ma boucle, tous mes prints fonctionnent, et uniquement la boucle for est ignorée. Je pense que c'est peut-être à cause du volume élevé de mon document xml mais je n’en suis pas sur, si quelqu’un pouvait m’eclairer,
    Merci d’avance

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Les print vont produire de l'affichage à l'écran et donc te permettre de suivre ce qui se passe. Si tu enlèves les print, alors les choses se font mais rien n'est afficher. A toi de voir dans ce cas comment compte tu récupérer l'information qui t'intéresse, où autrement dit, comment compte tu stocker les résultats ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Par défaut affichage
    J’ai justement mis des print pour observer l’execution, et cest comme ca que j’ai pu voir que ma boucle for avait été ignoré. Je ne souhaite pour l’instant pas stocker mes resultats mais uniquement reussir a afficher le print qui est present dans ma boucle for.

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Tu dois surement itérer sur des trucs vides.

    Tu ne fais pas assez de print pour t'en rendre compte.
    Vois ce que donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ips = tree.xpath('./VipFunction/vips/displayName[text()="' + address + '"]')
    print(ips)
    ça a quoi comme tete ? Ca contient combien d'élément ? Je dirais 0, ce qui provoque que Python ne rentre pas dans la boucle ensuite.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Par défaut probleme
    Apres avoir essayé en effet je renvoi 0 éléments..
    Mais je ne comprend pas pourquoi car pourtant mon chemin xpath semble etre bon et il existe bien des éléments dans mon arbre xml...

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 094
    Par défaut
    Mais je ne comprend pas pourquoi car pourtant mon chemin xpath semble etre bon et il existe bien des éléments dans mon arbre xml...
    La faute à python ? Bien sûr que non...

    Vous voulez qu'on vous dise quoi ? Vous avez une liste vide et vous vous plaignez que c'est bizarre. Non, vous devriez vous remettre au travail, ou un minimum donner plus d'informations si vous voulez une aide. Vous parlez d'un arbre XML qu'on ne voit pas, et proposez une syntaxe que l'on ne peut vérifier sans.

    Difficile de continuez cette discussion sans détail supplémentaire.

Discussions similaires

  1. Probleme boucle For
    Par uldrych.maillet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/12/2007, 15h09
  2. Probleme boucle For Each controls
    Par Tusbar dans le forum Windows Forms
    Réponses: 21
    Dernier message: 13/09/2007, 23h56
  3. probleme boucle for
    Par ricoree78 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/05/2007, 12h27
  4. probleme boucle for
    Par michael75 dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 25/01/2007, 18h51
  5. Probleme boucle for
    Par griese dans le forum Linux
    Réponses: 4
    Dernier message: 06/12/2006, 14h39

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