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 :

Information sur les parseurs


Sujet :

Python

  1. #1
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 457
    Par défaut Information sur les parseurs
    Bonjour,

    n'ayant pas de cursus en programmation, mais le faisant par hobby, je n'ai pas tous les éléments de langage et j'ai besoin de quelques informations.
    Jusqu'a présent je ne me posais pas la question, je regardais comment parser un fichier et le tour était joué. Avec le xml je me suis pas mal intéressé à cause d'etree.Element du coup j'ai pas mal lu et relu le code... Et j'ai commencé à traiter moi même autrement, mais avant d'aller plus loin j'aimerai comprendre vraiment ce que signifie parser, peut être que je me plante.

    Avant je pensais que ça constituait le fait de remplir via une lecture progressive, une variable. Là, je me demande si ça n'est pas plus que cela, et j'aimerai comprendre d'avantage les mécaniques, ou bien qu'on me dise comment ce que je vais expliquer pourrait s'appeler.

    Le fait de lire un fichier, et de l'examiner, et de prédeterminer ce que sont certains segments lus dans un fichier... est cela parser ? (et donc pas seulement lire et remplir une variable)

    J'ai fait un algorithme qui lorsqu'on lui passe le contenu d'un fichier xml, renvoie en échange (pour le moment un tuple) avec la catégorie à laquelle appartient cette chaine (balise ouverte/fermée d'une branche, branche isolée, feuille, commentaire...), et les portions de code bien segmentée pour une utilisation ultérieure. Je me dis que c'est une autre fonction qui doit gérer, de manière à ce que cette fonction là (doit on l'appeler donc parser ? ) soit le plus souple possible et interfaçable du coup avec toute fonction qui veut réutiliser cela. Est ce le bon cheminement ? ??

    Et de là je ferais une fonction qui recréera un arbre, avec des classes pour chaque élément.... comme je pourrais faire aussi un affichage sous diverses formes, etc etc...

    Et il y a un truc également qui me chiffone, c'est que dans le code d'elementTree, je vois des noms comportant "handler", et ayant crée un gestionnaire chargé de gérer les flux de sortie (en ajoutant des modules de dialogue on peut rediriger à l'écran et dans divers fichiers logs, avec une gestion des niveaux par module de dialogue de sorte d'avoir plus ou moins d'informations). Idem pour un module qui gère les évènements lancé par pynotify. Mais là je ne comprends pas trop comment on pourrait voir là dedans un gestionnaire/handler. A moins que ça soit un autre module, mais dans ce cas là, pourquoi un gestionnaire ? etree se base sur la bibliothèque expat que je n'ai pas encore consulté, et le code d'etree par dans tous les sens à mon gout si bien que je décroche parfois.

    Merci pour vos réponses.


    ps: je sais ça peut sembler étrange mais ça m'aide à mieux comprendre etree, à substituer aussi certaines fonctions car pas mal de choses me déplaisent dedans.. dont le find et findall.

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par daerlnaxe Voir le message
    Le fait de lire un fichier, et de l'examiner, et de prédeterminer ce que sont certains segments lus dans un fichier... est cela parser ?
    oui, to parse en anglais veut dire analyser, un parser c'est un analyseur tout simplement

  3. #3
    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,

    Citation Envoyé par daerlnaxe Voir le message
    Et il y a un truc également qui me chiffone, c'est que dans le code d'elementTree, je vois des noms comportant "handler", et ayant crée un gestionnaire chargé de gérer les flux de sortie
    C'est parce que dans le folklore XML, on fabrique une représentation du fichier sous la forme d'un arbre suivant DOM (document object model). Mais comme les fichiers peuvent être gros, çà peut prendre des plombes d'autant qu'on ne s'intéresse pas à toutes les informations, aussi il y a une lecture via SAX (simple API for XML): le fichier au fur et à mesure pour générer des évènements suivant les balises rencontrées.
    ElementTree est une techno intermédiaire.

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

  4. #4
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 457
    Par défaut
    Merci à tous deux de m'avoir répondu.
    Cela va m'être beaucoup utile. J'avais une définition probablement trop stricte d'handler, pour moi par évènement j'entendais quelque chose en temps réel, et une lecture des balises ne me semblait pas générer des évènements, comme quand on clique sur un bouton, ou afficher un message et je sais mêem pas pourquoi j'étais si stricte. Donc ça tombait bien car en fait j'avais fait cette gestion "d'évènements" (va falloir que je m'habitue). Et je vais pouvoir aller plus loin .

Discussions similaires

  1. Informations sur les langages/outils de ce forum
    Par Idelways dans le forum Autres langages
    Réponses: 3
    Dernier message: 14/02/2018, 12h08
  2. [LG]Informations sur les procédures
    Par noureddine9h dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2005, 21h23
  3. information sur les ps
    Par devalender dans le forum Débuter
    Réponses: 4
    Dernier message: 20/07/2004, 10h07
  4. Réponses: 6
    Dernier message: 28/04/2004, 10h41
  5. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30

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