TestDemo.py文件内容
#注意 本机要pip安装numpy库 import numpy as np def func(a,b): result=np.sqrt(a+b) return result
C#代码
//nugeta 里面安装pythonnet 注意:本机要pip安装numpy库 static void Main(string[] args) { //python的安装目录 string pathToVirtualEnv = @"D:\Programs\Python\Python311"; Runtime.PythonDLL = Path.Combine(pathToVirtualEnv, "python311.dll"); PythonEngine.PythonHome = Path.Combine(pathToVirtualEnv, "python.exe"); //这里面包含三个目录 用分号(;)隔开,D:\\tempCode\\是TestDemo.py存放目录 PythonEngine.PythonPath = $"{pathToVirtualEnv}\\Lib\\site-packages;{pathToVirtualEnv}\\Lib;D:\\tempCode\\"; PythonEngine.Initialize(); using (Py.GIL()) { // TestDemo为TestDemo.py文件,在放在D:\\tempCode\\ 目录 dynamic np = Py.Import("TestDemo"); double r = np.func(9, 27); Console.WriteLine($"计算结果{r}");//计算结果为6 } //也可以直接搞用第三方库numpy里面的方法 using (Py.GIL()) { dynamic np = Py.Import("numpy"); double r = np.sqrt(64); Console.WriteLine($"计算结果{r}");//计算结果为8 } }
本文来自 www.luofenming.com