Maison >développement back-end >C++ >Comment exécuter des scripts Python de C # en utilisant des méthodes natives?

Comment exécuter des scripts Python de C # en utilisant des méthodes natives?

DDD
DDDoriginal
2025-01-30 08:46:10849parcourir

How to Execute Python Scripts from C# Using Native Methods?

Exécutez de manière transparente le script Python

Cet article traite du problème de base de l'exécution du script Python de C #. Le code fourni est conçu pour exécuter un simple script Python, qui lit le contenu du fichier spécifié. Cependant, la méthode initiale a rencontré le défi, qui a conduit à l'utilisation de la méthode native pour atteindre cet objectif.

Analyse des problèmes

Les principaux problèmes rencontrés dans l'implémentation initiale proviennent de l'utilisation de l'utilisateur HELLEXECUTE à FAUX. Cela désactive l'utilisation du shell système, qui doit être explicitement spécifié le chemin complet du fichier exécutable Python et formater correctement les paramètres de commande.

Méthode d'amélioration

Afin de corriger ce problème, le code modifié fournit une amélioration de l'amélioration:

Considérations clés

<code class="language-csharp">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);
         }
     }
}</code>

L'USESHELLEXECUTE doit être défini sur FALSE pour étendre le fichier et les paramètres exécutables. Les paramètres de commande doivent être formatés correctement et les scripts et les fichiers d'entrée à exécuter sont spécifiés.

    En capturant la sortie standard, les résultats du script Python peuvent être intégrés dans le code C #.

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