Obtenir le nom qui n'est pas définie à partir de NameError en python

Comme vous le savez, si nous n'avons tout simplement:

>>> a > 0
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    a > 0
NameError: name 'a' is not defined

Est-il un moyen de la capture de l'exception ou de l'erreur et de l'extraction de la valeur 'a'.
J'ai besoin de cela parce que je suis evaluating certains de créer dynamiquement des expressions, et souhaitez pour récupérer les noms qui ne sont pas définis.

Espère que je me suis fait clair.
Merci!
Manuel

Si ce n'est pas définie, comment peut-il avoir de la valeur?
Je veux extraire le nom, pas la valeur. J'ai dit "la valeur" a", pas "la valeur d'un".
Pourquoi avez-vous besoin d'utiliser eval? Si vous souhaitez créer une interface Python, ce n'est pas le bon outil. Si vous souhaitez créer un évaluateur d'expression pour votre application, ce n'est pas le bon outil.
Ce qui serait le bon outil? -.- Vous pourriez inclure dans votre commentaire précédent...

OriginalL'auteur Manuel Aráoz | 2010-02-16