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 :
log.py :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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; }
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.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2print "Log : Bonjour"
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 =]
Partager