Определить в IPython, для чего был запущен вызов CMD / Terminal для запуска IPython - PullRequest
0 голосов
/ 02 января 2019

Предположим, что я запускаю IPython с помощью следующей команды в CMD Windows 10:

 "C:\MyFolder\ipython.exe" -i --matplotlib=qt5 --InteractiveShellApp.exec_lines="['import numpy as np']"

В пределах инициализируемой консоли IPython есть ли способ для меня точно определить, какая команда использовалась для инициализации консоли IPython (как указано выше)?

Если нет, есть ли хотя бы способ получить деталь "C:\MyFolder\ipython.exe", то есть точный путь к текущему файлу ipython, запущенному в данный момент?

1 Ответ

0 голосов
/ 02 января 2019

Информация, которую вы запрашиваете (необработанные аргументы программы, как, скажем, - для программы на C с main(int argc, char *argv)), недоступна на уровне интерпретатора python (более полная - но частичная, потому что она не обращается к команде pythonи переключатели - объяснение приводится в Как найти точную команду CLI, заданную для Python? )

sys.argv предоставляет аргументы, которые вы передаете в свой сценарий, включая сценарийсама по себе sys.argv[0], но не переключатели командной строки python.

Однако вы можете получить одну вещь - это исполняемый файл, который был запущен: sys.executable

Таким образом, вы можете сделать самое близкоеэто:

args = [sys.executable] + sys.argv
...