最近由于项目需要,用到C#调用Python的技术。

于是在网上找了各种资料(大概都是利用IronPython):

1、下载IronPython,并引用C#中。

c#调用python脚本 c#调用python代码_Python

2、调用py文件中的方法

c#代码:

ScriptRuntime pyRuntime = Python.CreateRuntime();
dynamic py = pyRuntime.UseFile("test.py");
string a = py.welcome("text");
textBox1.AppendText(a);

py代码:

#! -*- encoding:utf-8 -*-

def welcome(name):
    return "hello" + name

经过测试,能运行成功。

但是当python需要用到调用复杂含第三方类库时,会报各种找不到模板的错误。

于是又各种百度,大致是结论:

Python要和其他平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

于是放弃了之前的方法,改用网络调用:

1、python文件发布到服务器

2、C#利用http调用

问题解决!!!