Maison >développement back-end >C++ >Comment puis-je exécuter des scripts Python de C # sans utiliser 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!