【发布时间】:2021-03-08 19:41:07
【问题描述】:
您好,我正在学习如何在 c++ 中使用 python,并且想知道如何将返回的 python 值转换为可以在 c++ 中使用的值。
这是我的代码:
CPyInstance pyInstance;
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
CPyObject pName = PyUnicode_FromString("Info");
CPyObject pModule = PyImport_Import(pName);
if (pModule)
{
CPyObject pFunc = PyObject_GetAttrString(pModule, "getTracks");
if (pFunc && PyCallable_Check(pFunc))
{
CPyObject pValue = PyObject_CallObject(pFunc, NULL);
//print the returned string
}
else { std::cout << "Error: function getTracks()\n"; }
}
else { std::cout << "error: no module imported"; }
return 0;
def getTracks():
returnString = ""
for track in results['tracks'][:10]:
returnString += 'track : ' + track['name']
return returnString
【问题讨论】: