Как запустить .py-файл и остановиться на желаемой выписке при разработке - PullRequest
1 голос
/ 08 января 2020

Здравствуйте, мое дорогое сообщество stackoverflow,

Я хочу запускать файл .py до определенной позиции. Некоторые IDE могут поддерживать функцию «запустить все выше», но мне кажется, что я не могу правильно использовать PyCharm, так как мне постоянно нужна консоль python для просмотра переменных n вещей.

Так что - есть? способ остановить выполнение программы надлежащим образом? (редактировать: не закрывая консоль python, чтобы можно было запускать дополнительные команды для проверки / использования полученных переменных)

Очевидно, что есть обходные пути: генерировать исключения, программировать файл за некоторое время l oop и сломаться - но это не могут быть правильные решения, верно?

edit: Несколько ответов уже намекают на то, что это легко можно решить, используя функции отладки - однако использование функций отладки не всегда возможно. Py-файлы могут выполняться удаленно [без надлежащего интерфейса для отладки], загружая «стандартную» версию, в то время как более «продвинутая / экспериментальная» версия может также запускать больше фрагментов кода в этом .py-файле. (Да, я знаю, что это на самом деле может считаться дерьмовым развитием - поскольку выполнение функций и наличие надлежащих параметров также могут решить эту проблему, я думаю.)

Пожалуйста, дайте мне знать, я не нашел информацию, которую я поиск с помощью Google, так как все, что было показано, показало l oop-соответствующих действий.

С уважением

Ответы [ 5 ]

2 голосов
/ 08 января 2020

Вы можете просто использовать отладчик в pycharm. Вы можете установить точки останова, и выполнение кода будет остановлено везде, где вы хотите, чтобы он остановился. После его остановки вы можете увидеть значения всех переменных, можете оценить выражение или запустить консоль python, которая имеет доступ ко всем переменным и выполнять там команды.

Возможно, вы не захотите читать краткое введение ко всем функциям: https://www.jetbrains.com/help/pycharm/debugging-your-first-python-application.html

1 голос
/ 08 января 2020

Или вы можете немного обмануть:

a = "test"
b = "ing"

# quick debug
print(a)
print(b)
exit()  # the program will stop here

c = f"{a}{b}"  # this will show only when you remove exit()

Конечно, это не лучший способ отладки, но это может сэкономить время.

1 голос
/ 08 января 2020

Вы ищете отладчик python. В PyCharm вы можете просто нажать на строку, где вы хотите, чтобы программа остановилась (слева, где номера строк). Затем в этой строке должен быть красный кружок (точка останова), а затем отладить (запустить) программу с зеленым значком «Ошибка» вместо зеленой стрелки. После этого отладчик останавливается, и вы можете исследовать переменные, изменять их на лету или даже выполнять некоторые операторы.

Для получения дополнительной информации попробуйте учебник из jetbrains .

Редактировать после дополнительного требования удаленной отладки:

Вы также можете удаленно отлаживать с помощью отладчика, есть несколько способов сделать это, и я не уверен, каков именно ваш вариант использования. Существует возможность запускать и отлаживать ваш код с помощью удаленного отладчика или интегрировать отладчик в нормально работающие сценарии на удаленном сервере. Кажется, это соответствует вашим требованиям?

Это официальная ссылка для PyCharm: Удаленная отладка

0 голосов
/ 08 января 2020

Вы можете запустить файл в режиме отладки и установить точку останова, чтобы остановить выполнение и проверить переменные. В pycharm ^ D есть ярлык для запуска файла в режиме отладки.

0 голосов
/ 08 января 2020

Надлежащим способом не сталкиваться с такими проблемами, как эта, является вложение кода в функции и их правильный вызов, чтобы контролировать, какая часть кода должна фактически выполняться.

Однако решение этой проблемы может все еще актуальны, особенно для приложений в науке о данных, так как многие решения представлены в одном файле (/ jupyter notebooks), чтобы представить все шаги, предпринятые для получения достигнутых результатов.

...