InronPython是一种在.NET和Mono上实现的Python语言,使用InronPython就可以在.NET环境中调用Python代码
安装InronPython
PY文件
# -*- coding:UTF-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
def Test1(para1,para2):
return para1+para2;
def Test2():
return '等等我'
控制台代码
var pythonEngine = Python.CreateEngine();//(options);
var pyText = Convert.ToBase64String(File.ReadAllBytes(new FileInfo(@"F:\Practice\net\py\PYTest1\PYTest1\Test2.py").ToString()));
var CodeString = Encoding.UTF8.GetString(Convert.FromBase64String(pyText));
`读取文件 方法一`
var script = pythonEngine.CreateScriptSourceFromString(CodeString);
`读取文件 方法二`
//var script = pythonEngine.CreateScriptSourceFromFile(@"F:\Practice\net\py\PYTest1\PYTest1\Test2.py");
var code = script.Compile();
var scope = pythonEngine.CreateScope();
var excuteResult = code.Execute(scope);
//调用py方法,不带参数
//var _func = scope.GetVariable("Test2");
//var CustomerData = _func();
//调用py方法,带参数
var _func = scope.GetVariable("Test1");
var CustomerData = _func(1,2);
Console.WriteLine(CustomerData);
Console.ReadKey();