Ответ 1
Используйте восклицательный знак !
перед выполнением инструкции:
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)
Мой код, к лучшему или худшему, изобилует однобуквенными переменными (это физический материал, поэтому эти буквы имеют смысл), а также NumPy, с которыми я часто взаимодействую.
При использовании отладчика Python иногда я хочу посмотреть значение, скажем, n
. Однако, когда я нажал n<enter>
, команда PDB для (n)ext
, которая имеет более высокий приоритет. print n
работает вокруг, глядя на него, но как его установить?
Используйте восклицательный знак !
перед выполнением инструкции:
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)
Вы можете использовать точки с запятой, поэтому просто поставьте что-то еще перед ним:
ipdb> print n
2
ipdb> n
> 145 <some code here>
146
147
ipdb> 1; n=4
1
ipdb> print n
4
Это не прямой ответ на ваш вопрос, но он может вам помочь: PuDB - это консольный визуальный интерфейс для PDB который отделяет команды от манипуляций переменных по дизайну.
Eric IDE, Wing IDE и Spyder, чтобы упомянуть лишь некоторые из них, имеют визуальные отладчики, которые стоят того, что они отделяют отображение значений от команд.