C#调用Python文件

今天试用了好几种方法,最终只有一个方法成功,现将今天的收获和问题做个笔记

方法一:使用ironPython

这个方法首先要在VS中安装配置ironPython,且如果python脚本中包含第三方模块,这个方法大多会报错说找不到import的包(但有的也能成功),在网上也很难找到该问题的解决方法,所以这个方法比较使用于调用不包含第三方模块的python脚本。
C#代码

using Microsoft.Scripting.Hosting;
using IronPython.Hosting;
	//在具体方法里面写如下代码
	ScriptEngine pyEngine = Python.CreateEngine();//创建Python解释器对象
	dynamic py = pyEngine.ExecuteFile("new.py");//读取脚本文件
	double str =123.789;
	py.test(str);//调用new.py文件中的test方法,并传入参数

方法二:使用ScriptRuntime

这个方法不需要另外安装东西,我一个同学是使用这个方法成功了,可以调用包含第三方模块的Python脚本,但是我的不行,可能是各自的环境不同。
C#代码

using Microsoft.Scripting.Hosting;
	//在具体方法里面写如下代码
	ScriptRuntime scriptRuntime = ScriptRuntime.CreateFromConfiguration();
	ScriptEngine rbEng = scriptRuntime.GetEngine("Python");
	dynamic py = scriptRuntime.UseFile("Models.py");//将Python脚本“Models.py”放在C#项目的Debug文件下,若不是就写文件的绝对路径
	py.main(modelName, inputPath, resultKind, resultPath);//调用python脚本的main()方法,并传入参数

方法三:使用Process

这个方法也不需要另外安装东西,不管调用的Python脚本是否包含第三方模块都比较适用,而且我也试验成功了,就是代码多了一点,不过这个方法大多数都普遍适用。
C#代码


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值