Всем привет.
Написал я на питоне XML парсер в виде класса и все работает круто.
Захотел я этот парсер попользовать в С++ и все бы ничего, кроме одного момента.
В итоге после работы этого класса некоторые функции возвращают словари или листы, а итоговый результат одного из методов представляет собой следующую структуру
[[[], {}], ...]
и она может быть реально длинной.
Вот как бы правильно это обработать на С-стороне. Понятно, что я использую следующий момент
pFunc = PyDict_GetItemString(pDict, argv[1]);
if (PyCallable_Check(pFunc))
{
pRetValue = PyObject_CallObject(pFunc, NULL);
printf("Result of function %s:\n%s\n", argv[1], PyString_AsString(pRetValue));
Py_DecRef(pRetValue);
}
else
{
printf("No such function %s\n", argv[1]);
return 2;
}
Ну тема я думаю из этого куска понятна.
вот получил я в pRetValue этот лист, которые содержит в себе все что придется. Что мне с ним делать?
Дабы получить набор данных в каком-нибудь std::vector для листов и std::map для словарей (типы указаны не как абсолют, а просто std пример того, что хочется).
Как бы это сделать и нормально с ним поработать? Скажите ПЛЗ.
ЗЫ Слово в админам, модераторам и иже с ними (точнее вами
) — может увидят. Если уж ввели раздел динамические языки, неплохо бы и добавить тэги кода для питона луа и возможно руби, хотя я его не пользую и мне оно не нужно
Предложение не более как вариант. Даже php с каким-то там sql'ем есть, а питона нет