完全嵌入Python
和C++
的小問題。現在的問題是,我有一個Python
代碼,會返回一個元組,又名在這種情況下的說法是:如何將Python 3.6中的元組傳遞給C++
pValue = PyObject_CallObject(pFunc, pArgs);
Py_DECREF(pArgs);
if (pValue != NULL)
{
printf("Result of call: %d\n", PyTuple_GetItem(pArgs, i, pValue));
}
:
def test():
x = 1;
y=2;
c=3;
d=4;
return [x,y,c,d]
在C++
,我在下面的方式嵌入代碼出於某種原因,打印輸出是這樣的:
調用的結果:1846660304
嘗試也重新轉動一根繩子,這也不起作用。只有一個工作人員返回例如返回h和C++
而不是使用PyTuple_GetItem
,使用PyLong_AsLong()
。
可有人請點我在如何閱讀他返回值C++
正確的方向,我是相當新的Python
,不幸的是Python
文檔是不好的水平上至少在這種情況下,沒有代碼示例或任何事情。
這是一個_list_,而不是一個元組。我猜'PyTuple_GetItem'返回一個變量的內存地址,而不是它的實際值。 – ForceBru
好的,但如何真正對待在C++又如何提取數據?或換句話說,將多個參數從python腳本傳遞給C++以及如何提取數據的最佳方法是什麼? – aalamaki
https://docs.python.org/3/c-api/tuple.html – ForceBru