Отладка кода Python, который требует ввода с консоли - PullRequest
0 голосов
/ 15 марта 2019

Как вы отлаживаете код в IDE PyCharm, когда требуется консольный ввод? Например, у меня есть кусок кода,

        # if the config  already exists prompt what to do
        if pc and not self.prompt.ask_yesno('project_ovverride'):
            self.prompt.say('setup_abort')
            return

enter image description here

Это разрыв в выделенной строке, и я не смог продолжить, поскольку не смог обеспечить консольный ввод. На данный момент я закомментирую это, но, возможно, есть способ обеспечить требуемый ввод с консоли.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 15 марта 2019

Если вы просто хотите ввести через CLI во время отладки; Вы можете просто использовать step into, как показано ниже. - Сначала включите «Запуск с консоли» в конфигурации запуска.

  1. Измените вкладку на console в вашем отладчике.
  2. Нажимайте step into, пока не увидите вопрос в консоли.
  3. Введите свой ответ при необходимости.
  4. Нажмите continue или любое другое действие в вашем отладчике, если это необходимо.

Если вы хотите выполнить отладку, запустив скрипт в CLI, вы ищете что-то в строках pdb (Python Debugger). Вы можете прочитать больше здесь .

Пример:

my_example.py

try:
    pdb_test = 1 / 0
except ZeroDivisionError:
    print('Argh stop it!')

Командная строка:

(venv) $ python3 -m pdb my_example.py
> /my_example.py(1)<module>()
-> try:
(Pdb) s
> /my_example.py(2)<module>()
-> a = 1 / 0
(Pdb) s
ZeroDivisionError: division by zero
> /my_example.py(2)<module>()
-> a = 1 / 0
(Pdb) 

То, что показано выше, это просто я, использующий s для команды от pdb до step - в документации вы можете найти все команды, которые вы можете использовать, включая continue и так далее.

0 голосов
/ 15 марта 2019

Изначально нам нужно установить Run with Python console в конфигурации Run среды PyCharm IDE, а затем мы можем изменить окно отладчика на окно консоли во время отладки программного обеспечения.Я предоставил скриншоты, иллюстрирующие формулу:

enter image description here

Теперь переключитесь с отладчика на консоль и предоставьте желаемый ввод.

enter image description here

0 голосов
/ 15 марта 2019

Если вы используете Pycharm 2018.3 или выше, вы можете перенаправить свой ввод в файл.PS.Я не пробовал это, но оно должно работать нормально.Set your input file here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...