Встраивание IronPython в C#

Я просто смотрю на использование IronPython с C# и не могу найти отличную документацию для того, что мне нужно. В основном я пытаюсь вызвать методы из a .py-файл в программу на C#.

У меня есть следующее, которое открывает модуль:

var ipy = Python.CreateRuntime();
var test = ipy.UseFile("C:Usersktrg317DesktopTest.py");

но, я не уверен от вот как получить доступ к методу внутри. В Примере, который я видел, используется динамическое ключевое слово, однако на работе я нахожусь только на C# 3.0.

спасибо.

2 ответов


посмотреть вложение на сайте Voidspace.

пример есть, калькулятор IronPython и оценщик работает над простым вычислителем выражений python, вызываемым из


Вы можете попробовать использовать следующий код

ScriptSource script;
script = eng.CreateScriptSourceFromFile(path);
CompiledCode code = script.Compile();
ScriptScope scope = engine.CreateScope();
code.Execute(scope);

Это этой статьи.

или, если вы предпочитаете, чтобы вызвать метод, вы можете использовать что-то вроде этого,

using (IronPython.Hosting.PythonEngine engine = new IronPython.Hosting.PythonEngine())
{
   engine.Execute(@"
   def foo(a, b):
   return a+b*2");

   // (1) Retrieve the function
   IronPython.Runtime.Calls.ICallable foo = (IronPython.Runtime.Calls.ICallable)engine.Evaluate("foo");

   // (2) Apply function
   object result = foo.Call(3, 25);
}

этот пример из здесь.