2011-05-14 5 views
0

dans mon programme, j'ai quelque part variable non définie:Python, tracer des variables non définies

global name 'cmd' is not defined 

Comment puis-je retirer le numéro de ligne où la variable est utilisée?

Je sais où est l'erreur (cmd contre self.cmd). La question est comment obtenir le numéro de ligne (ou pourquoi il n'est pas montré).

Depuis que je suis erreur Attraper, je devais traceback.print_exc() pour obtenir les numéros de ligne

+1

Pouvez-vous simplement le rechercher dans votre éditeur via ctrl + f ou l'équivalent de l'éditeur que vous utilisez? Si elle vous dit qu'elle n'est pas définie, alors vous n'en avez probablement pas trop dans votre code, n'est-ce pas? – wilbbe01

Répondre

4

Où exécutez-vous votre programme? une piletrace Python ressemble généralement à ceci:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'cmd' is not defined 

Comme vous pouvez le voir, cela indique la ligne où se produit l'erreur.

+0

hmm, ok, j'avais 'sauf exception, e: print e'. Pourquoi cela n'imprime-t-il pas la pile complète? – Anycorn

0

Le retraçage qui résulte de cette NameError être élevé contient le numéro de ligne qui tente d'utiliser le nom. Dans ce cas particulier, il semble probable que vous ayez oublié d'importer le module 'cmd', mais il est également possible que vous ayez une variable nommée par hasard après un module de bibliothèque standard.

+0

J'ai la variable cmd. – Anycorn

Questions connexes