[Python] всякие последовательности и прочие прелести C API
От: R1K0 Россия  
Дата: 02.07.09 13:37
Оценка:
Всем привет.
Написал я на питоне 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'ем есть, а питона нет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.