Py_Initialize ();
if (Py_IsInitialized () == 0) {
printf("echec lors de l'initalisation interpreteur python ! (exiting)\n");
return -1;
}
if ((fp = fopen(argv[1], "r")) == NULL) {
printf("echec lors de la lecture du script python %s ! (exiting)\n", argv[1]);
return -1;
}
if (PyRun_SimpleFile (fp, argv[1]) != 0) {
printf("echec lors de l'execution du script python! (exiting)\n");
fclose (fp);
return -1;
}
fclose (fp);
Py_Finalize ();
if (Py_IsInitialized () != 0) {
printf("echec lors de fermeture de l'interpreteur python ! (exiting)\n");
return -1;
}
return 0;
}
que l'on compile ainsi gcc -Wall py.c -o py -I/usr/include/python2.3 -lpython2.3 (à modifié selon la version de python installé)
soit script le python suivant (test.py):
#!/usr/bin/env python
print "coucou de python"
on utilise le tout ainsi : ./py.c test.py
et le resultat est
[manu@electron][23:12]
[~]
>./py test.py
coucou de python
[manu@electron][23:13]
[~]
>
voilà, voilà c'est une version simplifiée de ce qu'on peut faire, pour des trucs plus avancées je te conseille de te reporter à l'API C de python qui est somme toute assez simple (à coté de la monstruosité de celle de Perl, mais ça n'engage que moi ;-) )
# ça peut etre simple !
Posté par kolter (site web personnel, Mastodon) . En réponse au message Implementation d interpreteur python. Évalué à 2.
soit le fichier source py.c suivant
que l'on compile ainsi gcc -Wall py.c -o py -I/usr/include/python2.3 -lpython2.3 (à modifié selon la version de python installé)
soit script le python suivant (test.py):
on utilise le tout ainsi :
./py.c test.py
et le resultat est
voilà, voilà c'est une version simplifiée de ce qu'on peut faire, pour des trucs plus avancées je te conseille de te reporter à l'API C de python qui est somme toute assez simple (à coté de la monstruosité de celle de Perl, mais ça n'engage que moi ;-) )
M.