Je suis en train d'intégrer la célèbre speedtest-cli.py (speedtest.net client) dans mon application C#, pour que je puisse afficher la sortie soit dans la console ou dans un TexBox.script Python en C# application - problèmes IO
Jusqu'à présent, j'essayé ce qui suit:
class PythonSpeedTest
{
private String path = @"c:\pythonSpeedTest.py";
public void runPython() {
var py = Python.CreateEngine();
var scope = py.CreateScope();
var paths = py.GetSearchPaths();
paths.Add(@"C:\Program Files (x86)\IronPython 2.7\Lib");
py.SetSearchPaths(paths);
MemoryStream ms = new MemoryStream();
py.Runtime.IO.SetOutput(ms, new StreamWriter(ms));
try
{
var output = py.ExecuteFile(path, scope);
}
catch (Exception ex)
{
Console.WriteLine("Python collapsed" + ex.Message);
}
Thread.Sleep(5000);
var sr = new StreamReader(ms);
var result = sr.ReadToEnd();
Console.WriteLine(result);
}
}
L'application semble exécuter le script, mais 1. ne pas attendre jusqu'à ce qu'il se termine, et 2. Je ne pouvais pas le faire afficher tout sortie de python
Idéalement, je dois être en mesure d'attendre jusqu'à ce que le python a terminé le test; les résultats de la capture et de sortie dans la console soit ou TextBox, ou si je pouvais capturer toute la production - ce serait fantastique.
Merci pour votre aide!
Êtes-vous sûr que le script est en cours d'exécution OK? Définissez py.Runtime.IO.SetErrorOutput (stream, writer) pour que vous puissiez voir une erreur. –
Merci! Je dois essayer ça! –