Executer un script Python depuis un code C++
Bonjour,
Je d�bute en programmation C++ et Python, je cherche un moyen d'ex�cuter un script Python depuis du code C++.
Apr�s de nombreuses recherches, je suis parvenu � installer et configurer Python25.
Voici l'�tat actuel de mon code :
Fichier cpp :
Code:
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
|
#include <Python.h>
#include <fstream>
#include <iostream>
using namespace std;
int main() {
///Test d'existance du fichier
ifstream fichier("log.py");
if (fichier.fail()) {
cout << "Fichier de script introuvable : " << "log.py" <<"\n";
return 0;
}
///Lance le script
cout << "\n--- Execution du script : " << "log.py" <<" ---\n";
// Ouvre le script python a executer
FILE* pyFile = fopen("log.py", "r");
Py_Initialize();
//Test : ecriture d'une commande Python
PyRun_SimpleString( "print \"Bonjour\"");
// Execute le script
PyRun_AnyFile(pyFile, "log.py");
Py_Finalize();
return 1;
} |
log.py :
La compilation marche, mais j'ai un plantage lors de l'execution. Ce plantage est provoqu� par la ligne "PyRun_AnyFile(pyFile, "log.py");". Si celle ci est pass�e en commentaire, on s'apper�oit que la ligne "PyRun_SimpleString( "print \"Bonjour\"");" fonctionne bien. L'erreur ne semble donc pas venir de l'environnement Python.
Aurais-je oubli� certaines d�clarations ou initialisations dans mon code C++? Est-ce que le script Python n�cessite plus d'information pour fonctionner de cette mani�re?
Merci pour votre aide =]