我正在学习如何在C++中使用Python,并且我想知道如何将返回的Python值转换成我可以在C++中使用的东西。p>
这是我的密码:
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
您可以使用第UTF-8 Codecs节中的函数
例如,PyUnicode_AsUTF8AndSize:
或PyUnicode_AsUTF8
相关问题 更多 >
编程相关推荐