Maison >développement back-end >C++ >Comment extraire les valeurs de retour des méthodes Python appelées via C/C ?
Extraction des valeurs de retour des méthodes Python appelées depuis C/C
Lors de l'appel d'une fonction Python personnalisée depuis C, on peut souhaiter récupérer le valeur de retour pour un traitement ultérieur en C. Ceci peut être réalisé en tirant parti des méthodes fournies par l'API CPython.
Commencez par importer le module Python using PyImport_Import() :
PyObject* myModuleString = PyString_FromString((char*)"mytest"); PyObject* myModule = PyImport_Import(myModuleString);
Ensuite, obtenez une référence à la fonction en utilisant PyObject_GetAttrString() :
PyObject* myFunction = PyObject_GetAttrString(myModule,(char*)"myabs");
Créez des arguments pour la fonction et appelez-la en utilisant PyObject_CallObject() :
PyObject* args = PyTuple_Pack(1,PyFloat_FromDouble(2.0)); PyObject* myResult = PyObject_CallObject(myFunction, args);
Enfin, récupérez le double C résultat :
double result = PyFloat_AsDouble(myResult);
Notez que la gestion des erreurs est cruciale et doit être mise en œuvre pour tenir compte des erreurs potentielles lors de ces opérations.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!