вторник, 17 апреля 2012 г.

Перенаправление ввода\ввывода в embedded Python

Потребовалось перехватывать вывод питона, очень простой способ нашёлся тут - http://python-dev.info/redirecting-embedded-pythons-io/

Простой рабочий пример:

    Py_Initialize();

    PyObject *sys = PyImport_ImportModule("sys");
    PyObject *out = PyFile_FromString("python_out", "w+");
    PyObject_SetAttrString(sys, "stdout", out);

    PyRun_SimpleString("print 'hello'");

    FILE *output = PyFile_AsFile(out);
    fflush(output);
    fclose(output);

    Py_Finalize();

Комментариев нет:

Отправить комментарий