De nombreux développeurs ont rencontré le défi d'exécuter des scripts Python dans leurs applications C#. Bien que des solutions telles qu'IronPython existent, cet article propose une approche concise et efficace pour réaliser cette tâche sans utiliser de bibliothèques externes.
La clé pour exécuter un script Python à partir de C# est de comprendre comment fonctionne l'exécution en ligne de commande. Lorsque vous exécutez une commande à partir de la ligne de commande, vous spécifiez l'exécutable (par exemple, python.exe) suivi du fichier de script et de tous les arguments nécessaires.
En C#, vous pouvez utiliser la classe ProcessStartInfo pour spécifier la commande. -ligne à exécuter. Voici une version mise à jour de votre code qui définit correctement UseShellExecute sur false et construit la chaîne Arguments à l'aide de string.Format :
private void run_cmd(string cmd, string args) { ProcessStartInfo start = new ProcessStartInfo(); start.FileName = "my/full/path/to/python.exe"; start.Arguments = string.Format("{0} {1}", cmd, args); start.UseShellExecute = false; start.RedirectStandardOutput = true; using(Process process = Process.Start(start)) { using(StreamReader reader = process.StandardOutput) { string result = reader.ReadToEnd(); Console.Write(result); } } }
Ce code garantit que le chemin complet vers python.exe est utilisé et formate correctement les arguments pour inclure à la fois le nom du fichier de script et le fichier à lire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!