python - debugger - ¿Cómo manipulo una variable cuyo nombre entra en conflicto con los comandos de PDB?
pdb debug python (4)
Eric IDE, Wing IDE y Spyder, por mencionar solo algunos, tienen depuradores visuales que merecen la pena ya que separan la visualización de valores de los comandos.
Mi código, para bien o para mal, está lleno de variables de una sola letra (son cosas de física, por lo que esas letras son significativas), así como las de NumPy, con las que a menudo interactúo.
Cuando use el depurador de Python, ocasionalmente querré ver el valor de, digamos, 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 alrededor mirándolo, pero ¿cómo puedo configurarlo?
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.
Puedes usar puntos y comas, así que pon 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
Use un signo de exclamación !
antes de una sentencia 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)