编程:C#调用Python模块

  


  当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用C#来调用Python。

  如果让C#支持调用Python模块,我们首先需要安装一些扩展,这里推荐使用IronPython库。


  第一步,我们需要下载IronPython库的安装包,这里请大家移步官网 http://ironpython.codeplex.com/ ,下载并安装相关库文件。

  第二步,我们新建一个C#控制台测试项目,并将IronPython安装目录中的如下DLL文件添加进项目引用。

  第三步,我们分别编写C#代码,并添加Python代码文件到项目中,代码如下。

    C#代码部分

 1 using System;
 2 using IronPython.Hosting; //导入IronPython库文件
 3 using Microsoft.Scripting.Hosting; //导入微软脚本解释库文件
 4
 5
 6 namespace ConsoleApplication1
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             ScriptRuntime pyRuntime = Python.CreateRuntime(); //创建一下运行环境
13             dynamic obj=pyRuntime.UseFile("debug.py"); //调用一个Python文件
14             int  num1, num2;
15             Console.Write("Num1:");
16             num1 = Convert.ToInt32(Console.ReadLine());
17             Console.Write("Num2:");
18             num2 = Convert.ToInt32(Console.ReadLine());
19             int sum = obj.add(num1, num2); //调用Python文件中的求和函数
20             Console.Write("Sum:");
21             Console.WriteLine(sum);
22         }
23     }
24 }

  Python代码部分

1
2
def add(num1,num2):
    return num1+num2;


  编译时需要修改工程中的Python文件属性如下图,否则会报出文件无法定位的错误,运行结果如下右图。

              

C#调用Python模块相关推荐

  1. java执行python返回null_[转]java调用python脚本以及通过Process.waitFor()直接调用python模块返回错误代码1的一种解决办法...

    常见的java调用python脚本方式 通过jython提供的类库实现 通过Runtime.getRuntime()开启进程来执行脚本文件 通过jython提供的类库实现 通过jython实现的话,我 ...

  2. linux 下C调用Python 模块

    2019独角兽企业重金招聘Python工程师标准>>> 最近做一个移植项目, 用到C调用Python, 在网上搜了好多资料,但是发现按照上面介绍的一步一步来, 根本行不通,最后还是根 ...

  3. teststand调用python模块_NI TestStand 2019下载-测试管理软件NI TestStand 2019下载v19.0.1 官方版-西西软件下载...

    NI TestStand 2019是NI打造的一款可立即执行的测试管理软件,这款软件主要可以帮助测试和验证工程师快速构建和部署自动化测试系统.借助TestStand,您可以开发.执行和部署测试系统软件 ...

  4. 使用C++调用Python模块(Linux)

    使用Python调用C++库见:我的另一篇博客 工程配置 本文使用的项目构建工具为CMake,使用FindPython工具在CMake工程中找到Python库,注意CMake最低版本为3.12,参考: ...

  5. teststand调用python模块_TestStand 基本知识[10]--在序列中调用代码模块之--LabVIEW

    在TestStand调用外部代码模块时,使用频率最高的就是LabVIEW VI. 下面调用TestStand Demo程序,可以看到如下图: 1. 添加LabVIEW Action步骤,并创建或者加载 ...

  6. android调用python模块 chaquo_小猿圈python学习-系统调用os模块

    os 模块提供了很多允许你的程序与操作系统直接交互的功能 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数 ...

  7. linux 下Python调用C模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明: (1)编写C代码,hello ...

  8. Linux下用Python调用C模块

    http://blog.chinaunix.net/uid-22920230-id-3418876.html 在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模 ...

  9. matlab调用python自定义函数模块进行数据分析总结

    出发点:团队其它成员写好的python函数功能,可以进行数据的导入,但利用python开发环境绘图分析没有用matlab分析的效果好,因此萌发了发挥matlab的绘图优势+原先python写好的功能组 ...

最新文章

  1. 博弈入门学习的博客[资源汇总]
  2. excel 怎么让数字不用科学计数法
  3. 《Windows Server 2012 Hyper-V虚拟化管理实践》一3.3 远程管理Hyper-V主机
  4. Flume的Collector
  5. 网络编程Socket之UDP
  6. 前端进阶 -css的弱化与js的强化(11)
  7. mysql 命令手册_MySQL 常用命令手册
  8. matlab xlsread参数_利用MATLAB批量完成科研数据处理
  9. Android开发之Gradle多渠道打包总结
  10. Django之templates模板
  11. html实现动态多表单输入,使用javascript动态编辑多个相同的HTML表单
  12. 伪验证码(含随机验证码方法)js+css
  13. [转载] Java static关键字详解
  14. Net-SNMPv3的使用
  15. 安卓投屏助手(B1425)
  16. ROC-RK3328-CC 开发板开箱和上手指南
  17. mysql主从配置duxi_DUX主题
  18. 毕得医药通过科创板注册:年营收6亿 戴岚姐弟为实控人
  19. Linux vi vim 宏 批量操作 重复操作 宏录制
  20. 对flash cs5的展望

热门文章

  1. 更改linux子系统软件源为国内镜像
  2. java uuid静态方法_Java UUID toString()方法与示例
  3. 模糊逻辑系统_在模糊逻辑系统中工作 人工智能
  4. Java——获取当前线程的对象(currentThread())(两种方式)
  5. FreeRTOS--堆内存管理(二)
  6. hwt字体转换ttf_五分钟教你弄懂了字体反爬是个啥
  7. make menuconfig选择m编译为驱动模块
  8. 1057 数零壹 (20 分)
  9. Redis高频面试笔记:java版本号比较算法
  10. 意外收获字节跳动内部资料,一篇文章帮你解答