C#调用Python脚本并使用Python的第三方模块

本文介绍了如何在C#环境中利用IronPython调用Python脚本,并解决在C#中使用Python安装的第三方模块时遇到的问题。通过添加引用库,内嵌Python代码或从文件加载,可以实现C#与Python的交互。当遇到找不到模块的异常时,通过调整sys.path,可以在IronPython中成功导入第三方模块。
摘要由CSDN通过智能技术生成

C#调用Python脚本并使用Python的第三方模块


原文链接: http://taonull.github.io/2015/dotnet-call-python/

本文谢绝转载,如需转载需征得作者本人同意,谢谢。

2015 年1 月19 日

前言

InronPython是一种在.NET和Mono上实现的Python语言,使用InronPython就可以在.NET环境中调用Python代码,非常方便。

本文主要介绍在C#中调用Python代码,并使用Python安装的第三方模块。

安装InronPython

要在.NET环境中使用Python,先要安装InronPython(当然也要安装Python),安装很简单,直接下载安装就行。在CodePlex就有下载,下载地址:

还可以把Python Tools for Visual Studio也安装了。

使用

添加引用库

在Visual Studio新建一个工程后,添加引用IronPython.dll和Microsoft.Scripting.dll(位于InronPython的安装目录下,如下图)。


C#代码内嵌Python

最简单的使用方式如下:

1
2
var engine = IronPython.Hosting.Python.CreateEngine();
engine.CreateScriptSourceFromString("print 'hello world!'").Execute();

从文件中加载Python代码

一般情况下我们还是要把Python代码单独写在文件中。在工程中新建一个Python文件,如hello.py,并设置其属性Copy to Output Directory的值为Copy if newer。在hello.py下编写如下代码:

1
2
3
4
5
6
7
8
def say_hello():
    print "hello!"

def get_text():
    return "text from hello.py"

def add(arg1, arg2):
    return arg1 + arg2

C#代码如下:

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值