Python脚本执行在wpf中返回null给textblock

本文关键字:返回 null textblock wpf 脚本 执行 Python | 更新日期: 2023-09-27 18:02:00

我已经看了很多关于这个的问题,但我仍然不能弄清楚我的代码中发生了什么。我有一个简单的表单,带有一个浏览按钮,这样您就可以选择一个脚本来运行。然后按下run,脚本的输出将填充到一个文本块中。

现在,我正在运行一个简单的python脚本:print "Hello World" .

下面是获取输出的代码:
var proc = new Process
  {
     StartInfo = new ProcessStartInfo
     {
          FileName = "python.exe",
          Arguments = script,
          UseShellExecute = false,
          RedirectStandardOutput = true,
          RedirectStandardInput = true,
          RedirectStandardError = true,
          ErrorDialog = true,
          CreateNoWindow = true //no black window
      }
   };
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
test.Text = output; //This is the textblock

文本框的内容变为空白。没有显示任何输出,只是空白。这是非常直接和超级令人沮丧的,我不能解决这个问题。为什么返回null?

Python脚本执行在wpf中返回null给textblock

您正在启动一个新的Process来获取输出,但是在获取输出的过程中可能会有延迟。因此,字符串输出为空并存储在TextBox中。确保仅在流程完成时才打印输出。