В моем приложении C # есть встроенный механизм сценариев, использующий IronPython 2. Я создаю среду выполнения Python и добавляю несколько классов в глобальное пространство имен, чтобы сценарий мог импортировать их как модули.
Однако одна (довольно простая) вещь, которую я не могу понять, - это как отправлять аргументы скрипта. Я понимаю, что могу просто создать переменную со списком аргументов, но должен быть правильный способ сделать это. Кроме того, выполнение этого правильным «Python» способом позволяет мне компилировать сценарии и использовать автоматизированный конструктор документов под названием Sphinx. Итак, конечная цель - уметь использовать:
import sys
sys.argv
В одном из моих сценариев и получить аргументы, указанные пользователем (через приложение C #).
Прямо сейчас я вызываю сценарий, используя:
// set up iron python runtime engine
_engine = Python.CreateEngine();
_runtime = _engine.Runtime;
_scope = _engine.CreateScope();
// run script
_script = _engine.CreateScriptSourceFromFile(_path);
_script.Execute(_scope);
И я безуспешно пытался найти API для добавления аргументов скрипта. Я также попытался добавить их в путь к сценарию (например, _path), но безуспешно. Я пробовал использовать CreateScriptSourceFrom File и CreateScriptSourceFromSting (что в любом случае было долгим шансом ...).
Возможно ли то, что я пытаюсь сделать?