Meu código está, para o bem ou para o mal, repleto de variáveis de uma única letra (é coisa de física, então essas letras são significativas), bem como do NumPy, com o qual estou interagindo com frequência.
Ao usar o depurador Python, ocasionalmente vou querer olhar para o valor de, digamos n
,. No entanto, quando eu acerto n<enter>
, esse é o comando PDB para (n)ext
, que tem uma prioridade mais alta. print n
funciona em torno de olhar para ele, mas como posso configurá-lo?
eval
?eval('n = 3')
? Talvez ajude :)Respostas:
Use um ponto de exclamação
!
antes de uma instrução para que seja executada: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)
Os documentos dizem:
fonte
Você pode usar ponto-e-vírgula, então basta colocar outra coisa antes dele:
ipdb> print n 2 ipdb> n > 145 <some code here> 146 147 ipdb> 1; n=4 1 ipdb> print n 4
fonte
Essa não é a resposta direta à sua pergunta, mas pode ajudá-lo: PuDB é uma interface visual baseada em console para PDB que separa os comandos da manipulação de variáveis por design.
fonte
Eric IDE, Wing IDE e Spyder, para mencionar apenas alguns, possuem depuradores visuais que valem a pena, pois separam a exibição de valores dos comandos.
fonte