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 :

LXML : parse variable [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Pilote d'Avion Léger
    Inscrit en
    Février 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Pilote d'Avion Léger
    Secteur : Transports

    Informations forums :
    Inscription : Février 2019
    Messages : 6
    Par défaut LXML : parse variable
    Bonjour à tous,

    J'ai rencontré un petit problème et j'arrive pas à trouver de réponse sur mon amis Google...
    Le problème est le suivant : dans mon programme j'ai besoin de charger des fichiers xml.
    Pour ce faire j'ai souhaite faire une fonction (avec comme paramètre le nom du xml) qui permet de le parse.
    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def load(file):
        name = file
        file = "Ressources/" + file + ".xml"
        exec(name+' = etree.parse("'+file+'").getroot()')
        exec("global"+name)
    Ainsi je n'ai qu'à faire load("fichier1") et la fonction execute la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichier1 = etree.parse("Ressources/fichier1.xml").getroot()
    global fichier1
    Mais j'ai l'erreur NameError: name 'fichier1' is not defined
    Je comprends pas trop pourquoi et je vois pas non plus comment faire autrement.

    Merci !

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

    Si vous n'ouvrez pas un tuto. pour apprendre ce qu'est une fonction, une variable,... et savoir écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def load(name):
          name = "Ressources/" + name + ".xml"
          return etree.parse(name).getroot()
     
    fichier1= load('fichier1')
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre régulier
    Homme Profil pro
    Pilote d'Avion Léger
    Inscrit en
    Février 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Pilote d'Avion Léger
    Secteur : Transports

    Informations forums :
    Inscription : Février 2019
    Messages : 6
    Par défaut
    Merci de ta réponse, par contre vive la bonne humeur !

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

Discussions similaires

  1. parsing d'une variable javascript tableau
    Par Hydex dans le forum Général Python
    Réponses: 4
    Dernier message: 04/05/2010, 22h38
  2. parsing et incrémentation d'une variable
    Par bennyben87 dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2008, 11h49
  3. Utiliser des variables dans un parsing
    Par blackj dans le forum Langage
    Réponses: 1
    Dernier message: 15/12/2006, 22h04
  4. Réponses: 9
    Dernier message: 27/09/2006, 15h58
  5. [Help] bind variable et parsing
    Par slefevre01 dans le forum Oracle
    Réponses: 1
    Dernier message: 04/08/2005, 14h56

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