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 :

[Debutant] Comment faire pour debuger mon code


Sujet :

Python

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 161
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 161
    Par défaut [Debutant] Comment faire pour debuger mon code
    Bonjour
    Je suis nouveau sur Python et j ai des question basic.

    JE suis sous Windows Seven et je recupere est script. Je suis dans la phase d'analyse du code.

    Premierement quand je j'execute le fichier monfichier.py
    J'ai une fenetre noir qui s'ouvre (cmd) et si tout ce passe bien, elle reste ouverte et je vois le resultat de print.

    Cependant, j'ai ce code (qui n'est pas en entier)
    Code python : 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
    18
     
    if (m < d):
            m = m + 1
            stepcraft = serial.Serial(port, baudrate=115200)
            time.sleep(2)
            send_command('$X')
            send_command('$H')
            time.sleep(15)
            for n in range(n_coordinates):
    	    #print_log('Range' + n)
                while l<1:
                    l=l+1
                    move_x(X[n])
                    a = X[n]
                    time.sleep(x_pos_pause)
                    move_z(-30)
                    time.sleep(8)
    [... suite du code ...]
    Ce code fonctionne, saud quand je decommente print_log('Range') et j ai du mal a comprendre pourquoi.
    Es-ce un probleme d'alignement?

    L'autre probleme super enuzant, c'est quand il y a une erreur, ma fenetre CMD se ferme et je n'arrive pas lire le message d'erreur genere par l'exemple de dessus.

    Comment puis-je faire pour que la fenetre CMD ne se ferme pas, erreur ou pas??

    Cependant, j'ai filme la sequence et j'ai revu le film au ralenti et j'ai pu lire un truc du genre (pas sure du texte car lecture difficile)
    indentationError: indent does not match any outer identation level
    Au niveau du while l<1:

    Voici ma fonction print_log
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    def print_log(val):
        t = datetime.datetime.now().strftime('%d.%m.%y, %H:%M:%S')
        print t + ' >>> ' + val

    Pourquoi le fait d'ajouter print_log(), fait planter mon code? Es-ce un probleme d'alignement?

    Merci

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

    Pour tester les constructions de base, Python dispose d'un interpréteur interactif qu'on lance à la ligne de commande (cmd) via python (si vous avez renseigné le path Windows - et vu que vous utilisez Python2). Le mien affiche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
    Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    Au prompt, vous pouvez taper des commandes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> n = 0
    >>> 'Range' + n
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: cannot concatenate 'str' and 'int' objects
    >>>
    Effectivement, enlever le commentaire de "print_log" fera planter à cette ligne là sans même appeler la fonction.
    Et maintenant que vous savez lancer la console Windows et l'interpréteur Python, vous pouvez lancer aussi votre script Python via la commande "python script.py" à la console Windows. Erreur ou pas, la fenêtre ne se refermera plus.

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

Discussions similaires

  1. Comment faire pour que mon image devienne un lien
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 38
    Dernier message: 25/06/2007, 20h49
  2. Réponses: 3
    Dernier message: 24/04/2007, 19h45
  3. Réponses: 9
    Dernier message: 09/03/2007, 15h01
  4. Réponses: 5
    Dernier message: 27/05/2006, 12h06

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