在C#中从PyObject获取多个返回值

时间:2018-07-01 12:47:52

标签: c# python

我编写了以下代码,以使用Python.Runtime执行python脚本。如果我的python方法具有单个返回值,它将成功。如果我的python方法实际上返回多个值,如何从PyObject获取多个返回值?

using (Py.GIL())
            {
                dynamic test = Py.Import("test");
                PyObject ob2 = test.test_method();
                string str2 = ob2.ToString();
                MessageBox.Show(str2);
            }

我的test.py像这样:

def test_method():
   x = 1
   y = "name"
   return x,y

如果我的test_method()仅返回x或仅返回y,则我的代码没有问题。但是,如果我想在我的C#代码中分别获取x和y的值。我该怎么办?

1 个答案:

答案 0 :(得分:0)

最后,我发现我只需要使用

string str2 = ob2.GetItem(0).ToString();

获得不同的值。