Maison > développement back-end > Tutoriel Python > Comment exécuter avec succès un script Python à partir de C# sans utiliser le Shell ?

Comment exécuter avec succès un script Python à partir de C# sans utiliser le Shell ?

Patricia Arquette
Libérer: 2024-12-25 06:33:20
original
606 Les gens l'ont consulté

How to Successfully Run a Python Script from C# Without Using the Shell?

Comment exécuter des scripts Python à partir de C#

Vous souhaitez invoquer un script Python à partir de votre application C#. Le script contient une fonction simple de lecture et d'impression de fichiers.

Votre tentative initiale impliquait d'appeler le script Python via la ligne de commande, mais l'utilisation de UseShellExecute = false a empêché l'exécution de se terminer correctement.

Pour rectifier ce problème, vous devez :

  • Définir UseShellExecute = false pour désactiver l'utilisation du shell.
  • Fournissez le chemin complet de l'exécutable Python en tant que FileName.
  • Construisez la chaîne Arguments pour inclure à la fois le nom du script et le fichier à lire.

Voici le code corrigé :

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);
        }
    }
}
Copier après la connexion

Avec cette modification, vous devriez pouvoir exécuter le script Python depuis votre application C# et capturer sa sortie.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal