Mi código, para bien o para mal, está plagado de variables de una sola letra (son cosas de física, por lo que esas letras son significativas), así como el de NumPy, con el que a menudo interactúo.
Cuando se utiliza el depurador de Python, de vez en cuando voy a querer a mirar el valor de, por ejemplo, n
. Sin embargo, cuando presiono n<enter>
, ese es el comando PDB para (n)ext
, que tiene una prioridad más alta. print n
funciona mirándolo, pero ¿cómo puedo configurarlo?
eval
?eval('n = 3')
? Quizás ayude :)Respuestas:
Use un signo de exclamación
!
antes de una declaración para que se ejecute:python -m pdb test.py > /home/user/test.py(1)<module>() -> print('foo') (Pdb) !n = 77 (Pdb) !n 77 (Pdb) n foo > /home/user/test.py(2)<module>() -> print('bar') (Pdb)
Los doctores dicen:
fuente
Puede usar punto y coma, así que coloque algo más delante:
ipdb> print n 2 ipdb> n > 145 <some code here> 146 147 ipdb> 1; n=4 1 ipdb> print n 4
fuente
Esa no es la respuesta directa a su pregunta, pero puede ayudarlo: PuDB es una interfaz visual basada en consola para PDB que separa los comandos de la manipulación de variables por diseño.
fuente
Eric IDE, Wing IDE y Spyder, por mencionar solo algunos, tienen depuradores visuales que vale la pena intentar, ya que separan la visualización de valores de los comandos.
fuente