web-dev-qa-db-fra.com

Comment utiliser Python dans l'application .NET-Core?

Comment utiliser Python dans l'application .NET-Core? J'ai besoin de cela pour les besoins de Hackathon afin que la solution ne doive pas être "élégante". J'ai lu qu'il est impossible de l'exécuter Python scripts directement car il n'existe que la bibliothèque IronPython pour ASP.NET standard mais pas pour .NET-Core. Alors, quelle est la façon la plus simple d'utiliser les scripts Python ? (Parce que c'est un hackathon, il est correct d'utiliser même PHP ou Selenium etc. uniquement pour exécuter le script)

17
Maciek Drabicki

Essaye ça

public class RunCmd
{
    public string Run(string cmd, string args)
    {
        ProcessStartInfo start = new ProcessStartInfo();
        start.FileName = "python";
        start.Arguments = string.Format("\"{0}\" \"{1}\"", cmd, args);
        start.UseShellExecute = false;// Do not use OS Shell
        start.CreateNoWindow = true; // We don't need new window
        start.RedirectStandardOutput = true;// Any output, generated by application will be redirected back
        start.RedirectStandardError = true; // Any error in standard output will be redirected back (for example exceptions)
        using (Process process = Process.Start(start))
        {
            using (StreamReader reader = process.StandardOutput)
            {
                string stderr = process.StandardError.ReadToEnd(); // Here are the exceptions from our Python script
                string result = reader.ReadToEnd(); // Here is the result of StdOut(for example: print "test")
                return result;
            }
        }
    }
}

Ensuite

 var res = new RunCmd().Run("your_python_file.py","params");
 Console.WriteLine(res);
18
nimo