C#中调用python

时间:2022-07-23
本文章向大家介绍C#中调用python,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

为了记录自己的学习成果,防止遗忘,同时为了帮助在C#学习过程中遇到同样问题的同志们,所以将原版代码奉上!!!

开发环境:vs2015

准备工作:

  1. 下载并安装Ironpython
  2. 创建控制台应用程序
  3. 添加文本文件,并命名为test.py
  4. 添加引用:引用IronPython.dll,Microsoft.Scripting.dll 两个dll文件

控制台程序代码:

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//引用需要的命名空间

using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            /*执行bin目录下test.py*/
            /*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();*/
            ScriptRuntime pyRunTime = Python.CreateRuntime();
            dynamic obj = pyRunTime.UseFile("test.py");
            Console.WriteLine(obj.welcome(10));
            Console.ReadKey();
        }
    }
}
python程序:
import math
def welcome(value):
    return  math.pi + value
#print(welcome(100))

运行前注意:点击test.py 将复制到输出目录 设置为始终复制

运行:直接按F5

执行效果: