Форум сайта python.su
Доброго всем времени суток! Хочу попробовать встроить в свое приложение возможность выполнения скриптов на Python. Возникла проблема с импортом собственных модулей. Например, есть два файла main.cpp и script.py в одном каталоге.
script.py:
def func:
print "Hello World"
#include <Python.h>
int main()
{
PyObject *pname, *pmodule, *pfunc;
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('.')");
pname = PyString_FromString("script");
pmodule = PyImport_Import(pname);
if (pmodule) {
pfunc = PyObject_GetAttrString(pmodule, "func");
PyObject_CallObject(pfunc, NULL);
}
Py_Finalize();
return 0;
}
Офлайн
Для того чтобы питон встраивать - его, желательно изучить.
К вас ошибка в модуле:
def func():
print "Hello World"
Офлайн
...
pname = PyString_FromString("script");
pmodule = PyImport_Import(pname); //# требуется script.pyc
if (pmodule) {
pfunc = PyObject_GetAttrString(pmodule, "func");
PyObject_CallObject(pfunc, NULL);
}
...
PyRun_SimpleString("import script");
PyRun_SimpleString("script.func()");
Офлайн