.net 调用 Python脚本中的代码

使用工具:IronPython 

工具介绍:是一种在 .NET 及 Mono上的 Python 实现,是一个开源的项目,基于微软的 DLR 引擎。(个人理解就是在 .net上面运行Python代码)

使用方法:先新建一个控制台应用程序 => 使用Nuget  添加IronPython包 => 在Main()函数中编写如下代码:               

        ScriptEngine engine = Python.CreateEngine();
        ScriptScope scope = engine.CreateScope();
        string script = "print('Hello world!')";
        var sourceCode = engine.CreateScriptSourceFromString(script);
        var result = sourceCode.Execute<object>(scope);
        Console.WriteLine(result);
代码解析:ScriptEngine=>Python 引擎
ScriptScope=>Python上下文(相当于一个容器可用于传递一些变量,该字段可有多个)
ScriptSources=>脚本源码
输出结果:Hello world!

代码延伸:有个这个基础的模本相信大家也会不由自主的发挥想象力了(改代码增加自己的需求);
比如:现在项目里面有个已经写好的 xx.py程序,我想调用里面的方法,获取一些信息,
此时我可以使用Directory Class来得到一个脚本,通过与scope.GetVariable("方法名");
结合使用来得到我想要的值;

完整项目:请点击这里!
由于项目只用到 .net调用Python代码,所以未对Python调用 .Net 代码做记录,如果大家有需求的话
可以参考:https://www.cnblogs.com/pasoraku/p/4906715.html 还是比较详细的;

猜你喜欢

转载自www.cnblogs.com/gamecc666/p/11531167.html