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
Libérer: 2025-01-30 08:46:10
original
865 Les gens l'ont consulté

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

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

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal