Comment exécuter des scripts Python à partir de C
En C#, il est possible d'exécuter des scripts Python en utilisant une approche d'interopérabilité native. Bien qu'IronPython offre une option pratique, elle n'est pas toujours nécessaire.
Exécution basée sur les processus
Pour exécuter un script Python à partir de C#, suivez ces étapes :
- Créez un objet ProcessStartInfo avec le chemin complet de l'exécutable Python (python.exe) comme FileName.
- Construisez la chaîne Arguments en combinant le chemin du script et tous les paramètres supplémentaires.
- Définissez UseShellExecute sur false.
- Définissez RedirectStandardOutput sur true pour capturer la sortie de Python. script.
- Démarrez le processus en utilisant Process.Start(start).
- Utilisez StreamReader pour lire la sortie de la sortie standard du script.
Exemple
Voici un exemple d'implémentation de la méthode run_cmd :
private void run_cmd(string script, string args)
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = "my/full/path/to/python.exe";
start.Arguments = string.Format("{0} {1}", script, 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);
}
}
}
Considérations
- Cette méthode n'implique pas l'installation d'IronPython ou d'autres outils.
- Il est important de s'assurer que le chemin complet de l'exécutable Python est spécifié correctement.
- L'interpréteur et le chemin du script doivent être correctement configurés dans l'environnement d'exécution Python.
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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn