Maison >développement back-end >C++ >Comment puis-je exécuter des scripts Python de C # sans utiliser ironpython?

Comment puis-je exécuter des scripts Python de C # sans utiliser ironpython?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-30 09:01:10400parcourir

How Can I Run Python Scripts from C# Without Using IronPython?

Exécution des scripts Python directement à partir de C #

De nombreux développeurs recherchent des méthodes efficaces pour exécuter des scripts Python dans des applications C # sans recourir à Ironpython. Cet article clarifie comment y parvenir efficacement.

Une approche commune consiste à utiliser la classe Process en C #. Cependant, les tentatives précédentes échouent souvent en raison d'une configuration incorrecte de l'objet ProcessStartInfo.

Le problème principal réside dans la propriété UseShellExecute. Le réglage UseShellExecute = false nécessite une spécification explicite du chemin complet de l'interprète Python dans la propriété FileName et une construction minutieuse de la chaîne Arguments pour inclure à la fois le script Python et tous les arguments nécessaires. De plus, pour capturer la sortie du script, RedirectStandardOutput doit être défini sur true.

Voici un extrait de code C # corrigé démontrant cette approche:

<code class="language-csharp">private void runPythonScript(string scriptPath, string arguments)
{
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = @"C:\Path\To\Your\Python\python.exe"; // Replace with your Python executable path
    startInfo.Arguments = $"\"{scriptPath}\" {arguments}";
    startInfo.UseShellExecute = false;
    startInfo.RedirectStandardOutput = true;
    startInfo.CreateNoWindow = true; //Optional: Prevents a console window from appearing

    using (Process process = Process.Start(startInfo))
    {
        using (StreamReader reader = process.StandardOutput)
        {
            string result = reader.ReadToEnd();
            Console.WriteLine(result);
        }
    }
}</code>

Cette méthode améliorée exécute de manière fiable les scripts Python de C #, capturant leur sortie et activant les appels répétés, ce qui le rend adapté aux interactions complexes C # -python. N'oubliez pas de remplacer "C:PathToYourPythonpython.exe" par le chemin réel vers votre exécutable Python. L'ajout de CreateNoWindow = true est facultatif mais recommandé pour empêcher une fenêtre de console Python séparée de l'ouverture.

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