J'ai du code Python qui fait une certaine tâche. Je dois appeler ce code de C # sans convertir le fichier Python en tant que .exe, car toute l'application est construite sur C #. P>
Comment puis-je faire cela? P>
3 Réponses :
Jetez un coup d'œil à IronPython . P>
En fonction de votre réponse et de vos commentaires, je pense que la meilleure chose à faire est d'intégrer IronPython dans votre application. Comme toujours, il y a un question à ce sujet. Comme l'a dit Kragen, il est important de ne pas compter sur un module CPPHON. P>
Il convertit le code Python en un fichier .exe, puis il est appelé par le C #. Je veux un programme Python directement appelé par C # Code.
@ user692856 Vous pouvez toujours compiler le code Python dans une DLL au lieu d'un exe à l'aide de IronPython, puis de référence à partir de votre projet C #.
Si votre code Python peut être exécuté via IronPython , alors c'est définitivement la voie à suivre - il offre le Meilleur Interop et signifie que vous pourrez utiliser des objets .NET dans vos scripts. p>
Il existe de nombreuses façons d'invoquer des scripts IronPython de C # allant de la compilation du script en tant que exécutable pour exécuter un fichier de script unique ou un événement d'exécution de manière dynamique des expressions de manière dynamique, car ils sont saisis par l'utilisateur - vérifiez la documentation et postez une autre question si Vous êtes toujours des problèmes de havissure. P>
Si votre script est un script CPPHON et ne peut pas être adapté pour fonctionner avec IronPython, vos options sont plus limitées. Je crois que CPPHON / C # INTEROP existe, mais je ne pouvais pas le trouver après une recherche rapide Google. La meilleure chose à laquelle je puisse penser serait de simplement appeler le script directement à l'aide de python.exe code> et le processus
processus code>. P>
processus.start est ce que vous êtes après. Cela vous permet d'appeler un autre programme, en passant des arguments informatiques. p>
Essayez Pythonnet.github.io