скрипт оболочки, который открывает python с аргументами для скрипта python - PullRequest
0 голосов
/ 18 февраля 2020

Я хочу отладить некоторый код Python в PyCharm, но репозиторий, из которого я получил код, использует скрипт оболочки вида

python main.py arg1 ... argN

, который запускается из командной строки. Модуль main.py, в свою очередь, содержит часть if __name__ == '__main__':, которая использует argparse для анализа аргументов, переданных через скрипт.

Как мне написать скрипт Python, который также вызывает main main.py без касания main.py?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

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

Выполните следующие действия:

  1. Открыть Edit Configurations...:

    enter image description here

  2. Обязательно измените конфигурацию вашего main.py:

    enter image description here

  3. Затем просто добавьте аргументы командной строки, как в командной строке, в поле parameters:

    enter image description here

  4. Нажмите OK

  5. Регулярно запускайте с использованием зеленой стрелки (или щелкните правой кнопкой мыши и Выполнить)


Если у вас действительно есть этот сценарий оболочки, вы можете запустить его напрямую, добавив новую конфигурацию. В окне Configurations нажмите + в верхнем левом углу и выберите Shell Script. Укажите путь и любой параметр, который вы хотите передать и запустить.

0 голосов
/ 18 февраля 2020

Например: определите новую функцию def main(): и переместите туда все свои if __name__ == '__main__': вещи, затем переписайте main.py как:

def main():
    <original "if __name__ == '__main__'" stuff>

if __name__ == '__main__':
    main()

, а затем вызовите функцию main () из внешнего python скрипт.

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