#c #python-2.7
Вопрос:
Я пытаюсь импортировать модуль python из программы c , поэтому я не могу импортировать модуль(последняя часть кода выполнена), пожалуйста, рассмотрите приведенный ниже код, где блок «если» не выполнен, а значение «pModule» обновлено на 0(означает, что модуль не импортирован)..
Есть ли какое-либо решение для решения этой проблемы?
Есть ли какая-нибудь ошибка ..?
И я поместил оба a.cpp файл и pyt.py файл в том же каталоге.
Примечание:Соответствующий файл заголовка включен и pyt.py просто верните значение 1.
Py_Initialize();
//CPyInstance hInstance;
CPyObject pName = PyUnicode_FromString("pyt");
PyRun_SimpleString("import sysn");
PyRun_SimpleString("import osn");
PyRun_SimpleString("sys.path.append(os.getcwd())");
CPyObject pModule = PyImport_Import(pName);
if(pModule)
{
//const char* arg = path;
CPyObject pFunc = PyObject_GetAttrString(pModule,"getlist");
if(pFunc amp;amp; PyCallable_Check(pFunc))
{ //PyObject *arglist = Py_BuildValue(arg);
CPyObject pValue = PyObject_CallObject(pFunc, NULL);
printf("C: getInteger() = %ldn", PyLong_AsLong(pValue));
}
else
{
printf("ERROR: function getInteger()n");
}
}
else
{
printf("ERROR: Module not importedn");
}
Py_Finalize();
Спасибо
Комментарии:
1. Попробуйте использовать PyErr_Print().