Re: Interfacer un programme C avec du code python

トップ ページ

このメッセージに返信
著者: Frédéric
日付:  
To: Guilde
題目: Re: Interfacer un programme C avec du code python
Le 01/04/2019, Odile a écrit :

> une première version de mon programme python de pilotage de machine à
> tricoter est fonctionnelle et nous voudrions l'interfacer avec un
> programme en C réalisé par mon collègue australien pour piloter le
> hardware de la machine à tricoter. C'est un programme très simple qui
> dialogue avec le micro contrôleur qui pilote le chariot de la machine
> mais qui a quelques contraintes temps réel.
>
> Les contraintes du projet sont que je sais pas programmer en C et je
> n'ai pas le matériel pour faire les tests avec le hard et lui ne connaît
> pas Python :-). L'autre contrainte étant bien sûr qu'il nous est
> difficile de nous réunir physiquement!....:-)
>
> J'ai fait une recherche sur Internet pour trouver comment interfacer du
> C avec du python mais j'ai l'impression que c'est surtout l'inverse
> (intégrer du python dans du C).
>
> Auriez vous une suggestion pour moi?


La solution la plus simple, c'est d'appeler le programme en C depuis
Python va le module subprocess, à chaque fois que tu en as besoin, en lui
passant les paramètres kivonbien.

Si le programme C doit tourner de manière continue, et qu'il y a un
dialogue entre les 2 codes, alors tu lances le programme C une fois,
toujours via subprocess, et tu dialogues avec lui via des pipes (c'est
inclus dans le module subprocess).

Sinon, tu peux utiliser un mécanisme de dialogue prévu pour ça, comme
zeromq...

Enfin, la solution ultime c'est de faire du programme C un module Python,
mais c'est plus complexe et demande de bien connaître la tripaille Python.

-- 
    Frédéric