我有一个c++boost python对象(PyObject*上的boost包装器)用于python列表PyObject * pyList = func(...);
boost::python::object listObj(handle<>(boost::python::borrowed(pyList)));
我可以通过对其执行以下操作来验证这确实是一个列表
^{pr2}$
从I-1元素中减去It元素,并创建一个新的列表,然后提取每个元素并在C++中打印到STDUT。在
我想做的是将这个listObj与我定义为的print函数一起使用boost::python::object print = std.attr("print");
但我希望它打印我指定的元素之一。我会用python写print myList[0]
因为它只是一个python列表。但当我试着print(listObj[0]);
在c++中使用boost pythonError in Python: : No to_python (by-value) converter found for C++ type: boost::python::api::proxy<:python::api::item_policies>.
那么,如何从python列表对象访问一个元素,并在c++中像上面的print方法(或任何其他接受字符串输入的python函数)那样在python调用中使用它呢?在