Я пытаюсь отлаживать Python CLI, который я написал, который может принимать свои аргументы от stdin. Простой тестовый пример будет иметь выход
echo "test" | python mytool.py
эквивалентно выходу
python mytool.py test
Я хотел бы отладить некоторые проблемы с этим инструментом, поэтому я попытался запустить это:
echo "test" | pdb mytool.py
Но я получаю этот вывод, затем выходы pdb:
> /path/to/mytool.py(5)<module>()
-> '''
(Pdb) *** NameError: name 'test' is not defined
(Pdb)
То же самое происходит, когда я добавляю -m python
к shebang, и если я запускаю pdb.set_trace()
внутри script.
Что здесь происходит?