为了记录自己的学习成果,防止遗忘,同时为了帮助在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

执行效果:


©著作权归作者所有:来自51CTO博客作者mb5fd86cce321a9的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 0223-空间引用类的三种方式,写一个自动加载类;
  2. 命名空间类三种引用、类导入命名冲突解决、自动加载类、mysql操
  3. 命名空间类名三种引用-命名冲突解决-自动加载-数据库操作
  4. 剩余参数与参数引用及回调函数:array_map(), array_filter,array_
  5. 面试官:讲一下Jvm中如何判断对象的生死?
  6. xml文件内引用资源
  7. 已解决:android 模拟器调用本地的webservice 引用不到
  8. 用Android(安卓)Studio3.0新功能加快构建速度
  9. android 内存泄漏处理方式

随机推荐

  1. Android(安卓)SDK 2.2安装问题
  2. Android主题和系统样式篇(下)
  3. Android隐藏状态栏和标题栏,相当于全屏效
  4. Android常用布局、控件以及Android存储方
  5. Android启动过程
  6. Android--第一行代码笔记(2)
  7. Android的Recyclerview的使用
  8. 【Android】HTTP协议的经典讲解
  9. Android实现透明的颜色效果(zz)
  10. 【解疑答惑】—— android:maxLines="1"