【发布时间】:2023-02-26 22:41:44
【问题描述】:
假设我将使用 Pythonnet 从 C# 调用 python 3.0 脚本。只要 return 是 double 类型,它就非常简单:
var input1 = new double[] {15, 20, 25};
dynamic test = Py.Import("Py_file_name");
double r1 = test.function_name(input1);
function_name() 方法返回的值被转换为双精度值,我可以根据需要使用它。但是对于更复杂的代码,事情就不同了,假设 retun 是 numpy.array:
double [] r1 = test.function_name(input1);
失败并出现错误 Cannot implicitly convert type 'Python.Runtime.PyObject' to 'double []'。
我可以像这样获得对象的价值:
object r1 = test.ANN1_fun(input1);
但这并没有解决任何问题,因为我仍然有 object {Python.Runtime.PyObject} 类型的变量,我不能(我不知道如何)在我的 C# 项目中使用它。如何将此 numpy.array 转换为任何 C# 数组?
【问题讨论】:
标签: python c# python-3.x numpy python.net