Ну, это твик к ответу Аарона, но я думаю, что он упускает тот момент, когда вы хотите интерактивно отлаживать в какой-то момент, верно? Это работает, но программа закрывается, прежде чем вы получите возможность отладки.
(echo cont;cat bar.in) | python -m pdb foo.py
Я думаю, что если вы можете отредактировать foo.py, выполните import pdb
, затем в интересном месте в foo.py сделайте pdb.set_trace()
, и просто запустите python foo.py
без -m pdb
и передайте ему bar.in нормально
python foo.py < bar.in