欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net 调用 Python脚本中的代码

程序员文章站 2023-01-22 22:47:12
使用工具:IronPython 工具介绍:是一种在 .NET 及 Mono上的 Python 实现,是一个开源的项目,基于微软的 DLR 引擎。(个人理解就是在 .net上面运行Python代码) 使用方法:先新建一个控制台应用程序 => 使用Nuget 添加IronPython包 => 在Main ......

使用工具: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 还是比较详细的;