1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
PyObject *pName, *pModule, *pDict, *pFunc, *pValue;
PyObject *pClass, *pInstance, *pArgs;
// Initialize the Python Interpreter
Py_Initialize();
// Build the name object
pName = PyString_FromString("Perso");
if(pName == NULL)
cout<< "error" << endl;
// Load the module object
pModule = PyImport_Import(pName);
if(pName == NULL)
cout<< "error" << endl;
// pDict is a borrowed reference
pDict = PyModule_GetDict(pModule);
if(pDict == NULL)
cout<< "error" << endl;
// pFunc is also a borrowed reference
pFunc = PyDict_GetItemString(pDict, "test");
if(pFunc == NULL)
cout<< "error fonction" << endl;
if (PyCallable_Check(pFunc))
{
pArgs = PyTuple_New(1); // create list of arg
pValue = PyInt_FromLong(123); // a la place de 123 jaimerai transmettre une instance
PyTuple_SetItem(pArgs, 0, pValue);
PyObject_CallObject(pFunc, pArgs);
} else
{
PyErr_Print();
}
// Clean up
Py_DECREF(pModule);
Py_DECREF(pName);
Py_Finalize(); |
Partager