Установите значение объектов в PyCharm перед запуском кода и отладкой - Python 3

1

Я хотел бы установить значение некоторых объектов в PyCharm перед запуском моего кода и отладкой. Это спасло бы меня много времени, потому что мне не пришлось бы вводить в себя значения этих объектов.

Например, я хотел бы определить foo = 1 и bar = 2 для следующего кода. (На самом деле это более сложный код с большим количеством объектов.)

foo = input("value of foo ?")
foo = int(foo)
bar = input("value of bar ?")
bar = int(bar)
total = foo + bar

Есть ли способ сделать это в PyCharm без изменения кода? Я не хочу делать foo = 1 и bar = 2 потому что мне нужно будет изменить код. Я посмотрел онлайн и попытался использовать "Параметры" и "Переменные среды" в конфигурациях Run/Debug, но не смог добиться успеха. Спасибо за помощь.

Теги:
pycharm

2 ответа

0
Лучший ответ

Я могу представить три варианта:

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

  2. Прочитайте значения из аргументов командной строки. Вы можете указать эти аргументы в своей конфигурации запуска.

  3. Запустите программу из командной строки и перенаправьте ввод из файла или канала из другой команды.

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

Обратите внимание, что это изменяет интерфейс на вашу программу. Любые пользователи должны будут установить переменную окружения или предоставить аргументы командной строки. Для многих ситуаций аргументы командной строки очень распространены при написании текстовых программ. При желании вы можете написать код, который проверяет, существуют ли переменные окружения или аргументы командной строки, и если не указывать приглашение ввести его.

2

Последний PyCharm 2018.2 EAP вводит функцию перенаправления ввода, я считаю, что это именно то, что вы хотите:

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню