C#调用调用python脚本的方法步骤脚本的方法步骤(2种种)
因项目需要,需要使用C#控制台程序执行python脚本,查询各种资料后可以成功调用了,记录一下,以备后面遗忘。
只尝试了两种调用方式,第一种只适用于python脚本中不包含第三方模块的情况,第二种针对的是python脚本中包含第三方模
块的情况。不管哪种方式,首先都需要安装IronPython。我是通过vs2017的工具->NuGet包管理器->管理解决方案的NuGet
包,搜索IronPython包安装,也可以在官网下载安装包自行安装后添加引用即可。
方式一:适用于方式一:适用于python脚本中不包含第三方模块的情况脚本中不包含第三方模块的情况
C#代码
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
using System;
namespace CSharpCallPython
{
class Program
{
static void Main(string[] args)
{
ScriptEngine pyEngine = Python.CreateEngine();//创建Python解释器对象
dynamic py = pyEngine.ExecuteFile(@"test.py");//读取脚本文件
int[] array = new int[9] { 9, 3, 5, 7, 2, 1, 3, 6, 8 };
string reStr = py.main(array);//调用脚本文件中对应的函数
Console.WriteLine(reStr);
Console.ReadKey();
}
}
}
python脚本
def main(arr):
try:
arr = set(arr)
arr = sorted(arr)
arr = arr[0:] return str(arr)
except Exception as err:
return str(err)
结果
方式二:适用于方式二:适用于python脚本中包含第三方模块的情况脚本中包含第三方模块的情况
C#代码
using System;
using System.Collections;
using System.Diagnostics;
namespace Test
{
class Program
{
评论0
最新资源