如何使用IronPython从C#调用Python方法

时间:2017-05-16 14:21:06

标签: c# ironpython method-call

我有一个Python方法,它接受一些参数并返回一个值。我试图使用IronPython从我的C#代码中调用它。

Python方法就像:

def encrypt(K,CHARS,param):
    L = len(param)
    e = pyffx.String(K, alphabet=CHARS, length=L)
    return e.encrypt(param)

// C#

var options = new Dictionary<string, object> { ["Debug"] = true };
                options["Frames"] = true;
                options["FullFrames"] = false;

                ScriptRuntime ipy = Python.CreateRuntime(options);
                ScriptEngine engine = ipy.GetEngine("py");

                var paths = engine.GetSearchPaths();
                paths.Add(@"C:\Program Files (x86)\IronPython 2.7\Lib");
                paths.Add(@"C:\Python27\Lib");
                paths.Add(@"C:\Python27\Lib\site-packages");
                engine.SetSearchPaths(paths);

                dynamic pythonscript = ipy.UseFile("encryptclient.py");

                string s= pythonscript.encrypt("abc", "xyz", "");

我不熟悉Python。有些人可以指导我传递参数或调用这个python方法的方式。

0 个答案:

没有答案