[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'ем есть, а питона нет
Re: [Python] всякие последовательности и прочие прелести C A
От: SergH Россия  
Дата: 02.07.09 13:58
Оценка:
Здравствуйте, R1K0, Вы писали:

RK>Предложение не более как вариант. Даже php с каким-то там sql'ем есть, а питона нет


Питон есть. Просто не показывается

print "Hello, world!"
Делай что должно, и будь что будет
Re: [Python] всякие последовательности и прочие прелести C A
От: eugals Россия  
Дата: 02.07.09 17:02
Оценка:
Здравствуйте, R1K0, Вы писали:

RK>вот получил я в pRetValue этот лист, которые содержит в себе все что придется. Что мне с ним делать?

RK>Дабы получить набор данных в каком-нибудь std::vector для листов и std::map для словарей (типы указаны не как абсолют, а просто std пример того, что хочется).

RK>Как бы это сделать и нормально с ним поработать? Скажите ПЛЗ.

Про Boost.Python слыхал?
... << RSDN@Home 1.2.0 alpha 4 rev. 1218>>
Re[2]: [Python] всякие последовательности и прочие прелести
От: R1K0 Россия  
Дата: 08.07.09 06:37
Оценка:
Здравствуйте, eugals, Вы писали:

RK>>Как бы это сделать и нормально с ним поработать? Скажите ПЛЗ.

E>Про Boost.Python слыхал?

Слыхал. Но для начала хочется посмотреть, как это сделано на уровне чистого API, дабы используя Питона в дальнейшем представлять — а как оно там все.
Неужели стандартное API Питона не предоставляет возможности работы с такими фундаментальными вещами как последовательности и словари ????
Re[3]: [Python] всякие последовательности и прочие прелести
От: eugals Россия  
Дата: 08.07.09 06:43
Оценка:
Здравствуйте, R1K0, Вы писали:

E>>Про Boost.Python слыхал?


RK>Слыхал. Но для начала хочется посмотреть, как это сделано на уровне чистого API, дабы используя Питона в дальнейшем представлять — а как оно там все.

RK>Неужели стандартное API Питона не предоставляет возможности работы с такими фундаментальными вещами как последовательности и словари ????
А ты загляни в ту ссылку, которую я дал выше. Там первый же кусочек кода как раз на эту тему.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.