Maison >développement back-end >Tutoriel Python >Comment puis-je exécuter des scripts Python à partir de C# et capturer leur sortie ?

Comment puis-je exécuter des scripts Python à partir de C# et capturer leur sortie ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 15:41:12829parcourir

How Can I Run Python Scripts from C# and Capture Their Output?

Exécuter des scripts Python à partir de C# : un guide complet

Dans le domaine de la coopération inter-langages, la question de l'exécution de scripts Python à partir de C# se pose souvent. Malgré les tentatives visant à fournir des réponses concises, les détails peuvent parfois rester insaisissables. Entrons dans les détails et clarifions ce processus.

Le principal défi réside dans la création des arguments de ligne de commande pour l'exécution de Python. Pour commencer, vous devez fournir le chemin complet de l'exécutable Python en tant que FileName dans ProcessStartInfo. Ensuite, assemblez la chaîne Arguments en incorporant à la fois le chemin du script et le fichier à traiter.

Pour capturer la sortie du script Python, définissez UseShellExecute sur false. Cela permet également l'utilisation de RedirectStandardOutput.

Code ajusté :

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);
        }
    }
}

Dans ce code, la propriété FileName pointe vers l'exécutable Python réel. La chaîne Arguments concatène le chemin du script et le fichier à lire par le code Python.

Clarifications supplémentaires :

  • Au lieu de coder en dur le chemin de l'exécutable Python, envisagez d'utiliser un interpréteur Python installé globalement.
  • Le format de la chaîne Arguments peut varier en fonction du script Python spécifique que vous courent. Consultez la documentation Python pour plus de détails.
  • Cette approche élimine le besoin d'IronPython ou d'autres outils externes. Il permet une communication directe entre C# et Python, capturant le résultat et permettant une interaction continue.

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