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 :

Comment récupérer le numéro de ligne en cours d’exécution dans le script [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut Comment récupérer le numéro de ligne en cours d’exécution dans le script
    Je cherche (désespérément) une méthode ou un cours Python pour récupérer le numéro de la ligne en cours d'exécution dans un script python.
    Mon objectif est de pouvoir laisser des traces pour débuguer par exemple en affichant à différents endroits de mon programme :
    print("Je suis à la ligne ", numero_de_ligne)

    Egalement de pouvoir faire une fonction qui affiche la ligne ou elle a été appelée.

    Merci pour votre aide.

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

    Citation Envoyé par campeaux Voir le message
    Mon objectif est de pouvoir laisser des traces pour débuguer par exemple en affichant à différents endroits de mon programme :
    print("Je suis à la ligne ", numero_de_ligne)
    Le module logging est fait pour çà.

    Citation Envoyé par campeaux Voir le message
    Je cherche (désespérément) une méthode pour récupérer le numéro de la ligne en cours d'exécution dans un script python.

    Egalement de pouvoir faire une fonction qui affiche la ligne ou elle a été appelée.
    Pour l'introspection, c'est plutôt côté module inspect.

    Et vous avez plein d'exemples qui traînent sur internet montrant comment réaliser cela... Rien de bien méchant, mais si vous débutez, c'est certes "compliqué" mais il faut peut être commencer avec du "plus simple".

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

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut
    Je débute en python mais je suis habitué en C/C++, langage dans lesquels la macro "_LINE_" répondait à mon besoin.
    J'ai cherché sur internet mais ne trouve pas l'équivalent en python.

    En tout cas merci beaucoup pour la réponse rapide. Je vais regarder les modules que vous suggérez.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut Résolu
    Le module inspect à répondu à mon besoin.
    inspect.currentframe().f_lineno me permet à chaque appel de récupérer la ligne de code en cours.

    Pour ma fonction debug voici comment j'ai fais :

    frame = inspect.currentframe()

    def debug( frame, message ):
    print( "Ligne : ", frame.f_lineno, " : ", message )
    return

    Merci beaucoup pour la réponse.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    hu? Je dirais: "à Rome fais comme les Romains":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import logging
    logging.basicConfig(format='%(asctime)s line=%(lineno)s %(message)s')
    logging.warning('test')
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut Joli !
    Effectivement ... !
    Merci beaucoup pour les réponses.

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

Discussions similaires

  1. [XL-2010] comment récupérer le numéro de la ligne filtrée sous vba
    Par jeanahmed dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/03/2016, 23h14
  2. Comment récupérer les numéros de ligne/colonne d'une plage
    Par Val2000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 18/07/2013, 16h56
  3. Comment récupérer le numéro de ligne d'un bug ?
    Par vbnet3 dans le forum NetBeans
    Réponses: 3
    Dernier message: 27/06/2011, 14h06
  4. Comment récupérer le numéro de la semaine ?
    Par claude dans le forum Langage
    Réponses: 7
    Dernier message: 25/06/2004, 15h06

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